sql >> Databáze >  >> RDS >> PostgreSQL

spojit dvě různé tabulky a odstranit duplicitní položky

Můžete použít UNION klauzule, UNION zkontroluje duplikáty a vrátí se pouze odlišné řádky

SELECT * FROM table1
UNION
SELECT * FROM Table2

Upravit:Chcete-li uložit data z obou tabulek bez duplicit, proveďte toto

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)

Tím se vloží řádky z tabulky2, které neodpovídají názvu, PSČ z tabulky1

Alternativou je, že můžete také vytvořit novou tabulku a nedotýkat se tabulek1 a tabulky2

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


  1. Fluent NHibernate a PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:Zadaná metoda není podporována

  2. skript pro převod mysql dump sql souboru do formátu, který lze importovat do sqlite3 db

  3. Chyba 404 Nenalezeno s EM 12c

  4. Zkontrolujte, zda tabulka existuje, a pokud neexistuje, vytvořte ji v SQL Server 2008