今天在写代码的过程中遇到一个问题,就是需要用一张表的数据去更新另一张表某个字段,由于本人之前常用的是MySQL数据库,记得可以通过join的方式更新。结果发现 postgre数据库竟然不可以,所以特意记录一下两种数据库,更新数据的脚本
1:MySQL脚本
UPDATE TABLE A JOIN table2 b ON A.busid = b.busid
SET A.district = b.district;
2:PostgreSQL脚本
UPDATE TABLE A
SET ( district ) = ( SELECT district FROM table2 b WHERE A.site = b.site )
WHERE
bustype = 1;
UPDATE TABLE A
SET ( column01, colum02, column03 ) = (
SELECT
b.column01, b.column02,
b.column03
table2 b
WHERE
A.COLUMN = b.COLUMN)
③ 、定义行号,删除重复数据
DELETE
tableA
WHERE
ID IN (
SELECT ID
( SELECT ROW_NUMBER () OVER ( PARTITION BY column01, column02 ), ID FROM tableA ) AS T
WHERE
T.ROW_NUMBER > 1