gpt4 book ai didi

sql - UPDATE 语句和 WITH 子句

转载 作者:行者123 更新时间:2023-11-29 13:32:46 25 4
gpt4 key购买 nike

我想使用 WITH 子句更新我的表。我在尝试:

UPDATE mytable 
SET myfield = (
WITH sub AS (SELECT 18)
SELECT CASE WHEN (sub = 18) THEN 100 ELSE 0 END)

WITH sub AS (SELECT 18)
UPDATE mytable
SET myfield = (
SELECT CASE WHEN (sub = 18) THEN 100 ELSE 0 END)

但它不起作用。请向我解释我做错了什么。

最佳答案

您的 sub 是记录集,而不是列。这个会起作用:

with sub(col) as (select 18)
update mytable set
myfield = (select case when col = 18 then 100 else 0 end from sub)

但是它会用 100 更新 mytable 中的所有行。不知道你想用你的查询做什么,所以不能更精确。

关于sql - UPDATE 语句和 WITH 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com