gpt4 book ai didi

sql - PostgreSQL 基于同一张表更新行

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

您好,我会根据同一张表更新行。将“数据”列复制到数据为“”(空)的每一行。此行中的“键”是相同的。

    id |data |key 
----|-----|-----
1 | xyz |key1
----|-----|-----
2 | "" |key1

我试过类似的方法,但“关系 a 不存在”:

UPDATE a
SET a.data = b.data
FROM table a
INNER JOIN table b
ON (a.key = b.key)
WHERE b.data != '""'

最佳答案

在 Postgres SQL 中,您不应该在 FROM 子句中重复目标表的名称(因此您不能使用 JOIN)


UPDATE table_a dst   -- <<-- target table
SET data = src.data -- <<-- no table-alias on the lValue; correlation name is implicit here
FROM table_a src -- <<--- same table, different alias
WHERE dst.key = src.key
AND dst.data = '""'
AND src.data <> '""'
;

关于sql - PostgreSQL 基于同一张表更新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47925251/

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