我正在尝试设置列 date 的日期字段,让我们说表 1 中的“10/11/2012”,当与该 id 相关的所有金额表 2 的总和(通过 fk_id)= 0 时。这就是我的意思:
从:
表格1
id date
1 10/11/2011
2
3 10/12/2011
表2
fk_id amount
1 200
2 0
2 0
3 100
到:
表格1
id date
1 10/11/2011
2 10/11/2012
3 10/12/2011
表2
fk_id amount
1 200
2 0
2 0
3 100
这是我目前所拥有的:
update table1
set date = '10/11/2012
FROM table1 inner join table 2 on table1.id = table2.fk_id
HAVING sum(table2.amount) = 0
有人可以帮我吗?
最佳答案
UPDATE table1
SET date = '10/11/2012'
FROM table1
WHERE id IN (SELECT FK_ID FROM table2 GROUP BY FK_ID HAVING SUM(Amount)=0)
关于在 WHERE 子句中使用聚合进行 SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221466/