gpt4 book ai didi

sql - postgresql 根据 id 组的条件进行更新

转载 作者:行者123 更新时间:2023-11-29 12:20:14 39 4
gpt4 key购买 nike

------------------------------------------
auto_id | group_id | TOF | TOF_2 |
------------------------------------------
8001 | 512 | true | |
------------------------------------------
8002 | 512 | false | |
------------------------------------------
8003 | 512 | false | |
------------------------------------------
8004 | 512 | false | |
------------------------------------------
8005 | 512 | false | |
------------------------------------------

我要UPDATE专栏TOF_2在可以描述如下的条件下:如果相同的任何行 group_id显示 TRUE , 这 group_id 的所有行应填充 TRUE (无论任何其他行在 FALSE 中显示 group_id)在列 TOF_2 中.

我认为 IF 或 CASE 可以解决问题,但我不确定正确的表达方式?

UPDATE table
SET TOF_2 = CASE
WHEN TOF is true THEN TOF_2 = true ELSE TOF_2 = FALSE
GROUP BY group_id

我知道这是错误的,但它可能指向正确的方向吗?以某种方式描述任务并不容易。

最佳答案

您可以在子查询中使用 IN 运算符:

UPDATE my_table
SET tof2 = TRUE
WHERE group_id IN (SELECT group_id
FROM my_table
WHERE tof = TRUE)

关于sql - postgresql 根据 id 组的条件进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919173/

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