sql >> Base de Datos >  >> RDS >> PostgreSQL

unir dos tablas diferentes y eliminar entradas duplicadas

Puedes usar UNION cláusula, UNION buscará duplicados y solo se devolverán filas distintas

SELECT * FROM table1
UNION
SELECT * FROM Table2

Editar:para almacenar datos de ambas tablas sin duplicados, haga esto

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)

Esto insertará filas de la tabla 2 que no coincidan con el nombre, código postal de la tabla 1

La alternativa es que también puede crear una nueva tabla y no tocar table1 y table2

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