gpt4 book ai didi

PostgreSQL:使用 tabB 和 tabC 中的选择更新 tabA

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

我在 tabC 中有一个选择。我已将该选择应用到 tabB。现在我必须使用这两个选择的值更新 tabA。

在 tabC 和 tabB 上选择:

SELECT * FROM tabC
WHERE id_field IN
(SELECT id_field FROM tabB WHERE date_IN = '2011-02-22')
ORDER BY id_field

更新选项卡A:

UPDATE tabA
SET field_1 = tabC.field_1, field_2 = tabC.field_2, field_2 = tabC.field_2
FROM tabC WHERE tabA.id_field IN
(SELECT tabC.id_field FROM tabC WHERE tabC.id_field IN
(SELECT id_field FROM tabB WHERE date_IN = '2011-02-22'))

UPDATE 语句运行没有任何错误,但结果不是我所期望的:3 个字段对所有行具有相同的值。怎么了?

最佳答案

改用内连接

UPDATE tabA
SET field_1 = tabC.field_1,
field_2 = tabC.field_2,
field_3 = tabC.field_3
FROM tabC
INNER JOIN tabB ON tabC.id_field = tabB.id_field AND tabB.date_IN = '2011-02-22'
WHERE tabA.id_field = tabC.id_field;

关于PostgreSQL:使用 tabB 和 tabC 中的选择更新 tabA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090868/

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