我需要设置如下的查询:
UPDATE XXXXXX
IF column A = 1 then set column B = 'Y'
ELSE IF column A = 2 then set column C = 'Y'
ELSE IF column A = 3 then set column D = 'Y'
Run Code Online (Sandbox Code Playgroud)
等等等等...
我能够使用多个查询来执行此操作,但我想知道,如果我只能在1个语句中执行此操作.
tho*_*mas 38
这应该工作
update table_name
set column_b = case
when column_a = 1 then 'Y'
else null
end,
set column_c = case
when column_a = 2 then 'Y'
else null
end,
set column_d = case
when column_a = 3 then 'Y'
else null
end
where
conditions
Run Code Online (Sandbox Code Playgroud)
问题是你为什么要这样做......你可能想重新考虑数据模型.你可以null用任何你想要的东西替换.
小智 6
是的,你可以使用 CASE
UPDATE table
SET columnB = CASE fieldA
WHEN columnA=1 THEN 'x'
WHEN columnA=2 THEN 'y'
ELSE 'z'
END
WHERE columnC = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100961 次 |
| 最近记录: |