sql >> Databasteknik >  >> RDS >> PostgreSQL

slå samman två olika tabeller och ta bort dubblerade poster

Du kan använda UNION klausul, UNION kommer att söka efter dubbletter och endast distinkta rader kommer att returneras

SELECT * FROM table1
UNION
SELECT * FROM Table2

Redigera:För att lagra data från båda tabellerna utan dubbletter gör du så här

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)

Detta kommer att infoga rader från tabell2 som inte matchar namn, postnummer från tabell1

Alternativet är att du också kan skapa en ny tabell och inte röra tabell1 och tabell2

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


  1. Skriva en csv-fil till SQL Server-databas med python

  2. Hur beställer man efter en SUM() i MySQL?

  3. Transparent datakryptering och alltid krypterad

  4. Hur hittar jag dubbletter av värden i en tabell i Oracle?