MySql 和 PostgreSQL 數據庫 根據一張表update另一張表數據


今天在寫代碼的過程中遇到一個問題,就是需要用一張表的數據去更新另一張表某個字段,由於本人之前常用的是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 
FROM
	table2 b 
WHERE
	A.COLUMN = b.COLUMN)

③ 、定義行號,刪除重復數據

DELETE 
FROM
    tableA 
WHERE
    ID IN (
SELECT ID 
FROM
    ( SELECT ROW_NUMBER () OVER ( PARTITION BY column01, column02 ), ID FROM tableA ) AS T 
WHERE
    T.ROW_NUMBER > 1 
    );

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM