基于其他表中无冲突的列更新表



我有两个表在Postgres db.

<表类>用户数量tbody><<tr>迈克100鲍勃200爱丽丝50

首先,在表TableB中为"group""user"列的组合添加一个唯一约束(如果不存在):

ALTER TABLE TableB ADD CONSTRAINT un_group_user UNIQUE("group", "user");

然后您可以使用INSERT语句将用户从TableA插入到TableB,并使用ON CONFLICT子句,这样TableB中存在的'xyz'组的用户行将被更新:

INSERT INTO TableB("group", "user", quantity)
SELECT 'xyz', "user", quantity / 2.0
FROM TableA
ON CONFLICT("group", "user") DO UPDATE SET
quantity = EXCLUDED.quantity;

相关内容

  • 没有找到相关文章

最新更新