PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

junte duas tabelas diferentes e remova entradas duplicadas


Você pode usar UNION cláusula, UNION verificará se há duplicatas e somente linhas distintas serão retornadas
SELECT * FROM table1
UNION
SELECT * FROM Table2

Editar:Para armazenar dados de ambas as tabelas sem duplicatas, faça isso
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)

Isso inserirá linhas da tabela2 que não correspondem ao nome, código postal da tabela1

A alternativa é que você também pode criar uma nova tabela e não tocar na tabela1 e na tabela2
CREATE TABLE TABLENAME AS
SELECT * FROM table1
UNION
SELECT * FROM Table2