1

我有两张桌子:A,B。

这是我想做的(这显然不是有效的 SQL):

UPDATE A a, B b SET a.pic = b.pic WHERE a.my_id = b.my_id

即当表A和B中的my_id列匹配时,我想将pic列从B复制到A。

这样做的正确方法是什么?

4

2 回答 2

1

正确的 postgres 查询:

UPDATE A a
SET pic = b.pic
FROM B b
WHERE a.my_id = b.my_id;
于 2013-08-08T21:30:30.417 回答
0

您只是在真正更新 A (无论如何您只能在 UPDATE 语句中更新一个表)

UPDATE A a SET a.pic = ( SELECT b.pic FROM B b WHERE a.my_id = b.my_id)
于 2013-08-08T21:23:25.117 回答