如何使用 case 按 id 更新行?
How to update row by id using case?
是否可以通过 id 更新其他行值?
我这样试试
但是没什么..
UPDATE era
SET id = CASE
WHEN id = 3 THEN gender = 'Female'--or maybe it is possible to call insert command here? insert into era (gender) values 'female'?
WHEN id = 4 THEN gender = 'Male'
END;
我希望在结果中更改 table 中的值...
我不知道你的更新有多大,但可以使用 from
子句中的 table 连接,然后对 case
语句稍作更改,
update era u
set gender = case
when f.id = 3
then 'Female'
when f.id = 4
then 'Male'
end
from era f
where u.id = f.id
如果您想更新列 gender
,那么您应该在 SET
中使用它,而不是像这样在 id
中使用它:
UPDATE era
SET gender = CASE id
WHEN 3 THEN 'Female'
WHEN 4 THEN 'Male'
END
WHERE id IN (3, 4)
是否可以通过 id 更新其他行值?
我这样试试 但是没什么..
UPDATE era
SET id = CASE
WHEN id = 3 THEN gender = 'Female'--or maybe it is possible to call insert command here? insert into era (gender) values 'female'?
WHEN id = 4 THEN gender = 'Male'
END;
我希望在结果中更改 table 中的值...
我不知道你的更新有多大,但可以使用 from
子句中的 table 连接,然后对 case
语句稍作更改,
update era u
set gender = case
when f.id = 3
then 'Female'
when f.id = 4
then 'Male'
end
from era f
where u.id = f.id
如果您想更新列 gender
,那么您应该在 SET
中使用它,而不是像这样在 id
中使用它:
UPDATE era
SET gender = CASE id
WHEN 3 THEN 'Female'
WHEN 4 THEN 'Male'
END
WHERE id IN (3, 4)