我有两张桌子:A,B。
这就是我想要做的事情(这显然不是有效的SQL):
UPDATE A a, B b SET a.pic = b.pic WHERE a.my_id = b.my_id
即。当my_id列在表A和B中匹配时,我想将pic列从B复制到A.
这样做的正确方法是什么?
答案 0 :(得分:1)
正确的postgres查询:
UPDATE A a
SET pic = b.pic
FROM B b
WHERE a.my_id = b.my_id;
答案 1 :(得分:0)
您只是真正更新A(并且您只能在UPDATE语句中更新一个表)
UPDATE A a SET a.pic = ( SELECT b.pic FROM B b WHERE a.my_id = b.my_id)