求正确SQL UPDATE语句:按Org ID将people表超400的availableClaps设为400
修正后的SQL UPDATE语句实现需求
你需要实现的逻辑是:指定一个Org ID,将people表中该Org下availableClaps字段值大于400的记录,把这个字段的值统一设为400。
你之前尝试的SQL存在两个问题:
- 缺少Org ID的过滤条件
- WHERE子句的语法逻辑错误,
availableClaps > 400 in (...)的写法不符合SQL规范
错误代码
update people set "availableClaps" = 400 where "availableClaps" > 400 in (select id from people)
正确的SQL语句
假设people表中存储Org ID的字段名为org_id(如果实际字段名不同,替换成对应名称即可):
UPDATE people SET "availableClaps" = 400 WHERE "availableClaps" > 400 AND "org_id" = '给定的Org ID值'; -- 替换成实际的Org ID
说明
- 添加了
AND "org_id" = '给定的Org ID值'来限定目标Org,确保只更新该Org下的记录 - 修正了WHERE子句的逻辑,先筛选
availableClaps > 400的记录,再叠加Org ID的过滤条件
内容的提问来源于stack exchange,提问作者Sheriff Sulemana
相关产品推荐
相关产品推荐

