gpt4 book ai didi

sql - 如何在单个 SQL 查询中用两个不同的 ID 和不同的值更新一列中的两列?

转载 作者:行者123 更新时间:2023-11-29 12:01:52 26 4
gpt4 key购买 nike

我有一个表Item:

id | price
---+--------
1 | 20000
2 | 30000
3 | 40000
4 | 43000

如何在单个 SQL 查询中更新价格列 id(1) = 1000, id(2) = 2000?

最佳答案

使用大小写:

update items
set price = (case when id = 1 then 1000 when id = 2 then 2000 else price end)
where id in (1, 2);

您也可以使用 from 子句来编写:

update items
set price = v.price
from (values (1, 1000), (2, 2000)) v(id, price)
where v.id = items.id;

这也更安全一些,确保 ID 确实匹配并且没有额外的行被意外更新。

关于sql - 如何在单个 SQL 查询中用两个不同的 ID 和不同的值更新一列中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54381038/

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