PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verbinden Sie zwei verschiedene Tabellen und entfernen Sie doppelte Einträge

Sie können UNION verwenden Klausel, UNION sucht nach Duplikaten und es werden nur eindeutige Zeilen zurückgegeben

SELECT * FROM table1
UNION
SELECT * FROM Table2

Bearbeiten:Um Daten aus beiden Tabellen ohne Duplikate zu speichern, tun Sie dies

INSERT INTO TABLE1
SELECT * FROM TABLE2 A
WHERE NOT EXISTS (SELECT 1 FROM TABLE1 X 
                  WHERE A.NAME = X.NAME AND 
                  A.post_code = x.post_code)

Dadurch werden Zeilen aus Tabelle2 eingefügt, die nicht mit Name und Postleitzahl aus Tabelle1 übereinstimmen

Alternativ können Sie auch eine neue Tabelle erstellen und Tabelle1 und Tabelle2 nicht berühren

CREATE TABLE TABLENAME AS
SELECT * FROM table1
UNION
SELECT * FROM Table2