sql >> Databáze >  >> RDS >> Sqlserver

spojit dvě identické tabulkové struktury s různými daty

K dokončení tohoto dotazu jsou potřeba dva triky. První je FULL JOIN. Úplné spojení vám umožní zkombinovat obě tabulky a vložit hodnoty null do kterékoli tabulky, pokud nesplňujete podmínku spojení. 2. je COALESCE, což vám umožní převzít závod a místo z kterékoli z tabulek, které poskytují záznam pro tento řádek ve výsledcích.

SELECT Coalesce(t1.Site,t2.Site) As Site, COALESCE(t1.Plant, t2.Plant) As Plant,
    t1.Value_1 As t1_Value_1, t1.Value_2 As t1_Value_2,
    t2.Value_1 As t2_Value_1, t2.Value_2 As t2_Value_2
FROM Table1 t1
FULL JOIN Table2 t2 ON t1.Site = t2.Site AND t1.Plant = t2.Plant


  1. Nasaďte více výpočetních instancí Oracle pomocí fondu instancí a terraformu

  2. Získejte MAX hodnotu v dotazu mysql

  3. Kontrola vstupního parametru, pokud není Null, a jeho použití v místě, kde na serveru SQL Server

  4. MYSQL najde všechny řádky, kde druhý řádek má dané hodnoty