Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

unisci due strutture di tabelle identiche con dati diversi

Sono necessari due trucchi per completare questa query. Il primo è un FULL JOIN. Un full join ti consentirà di combinare entrambe le tabelle e di inserire valori null in entrambe le tabelle quando non soddisfi la condizione di join. Il secondo è COALESCE, che ti consentirà di prendere l'impianto e il sito da qualsiasi tabella fornisca un record per questa riga nei risultati.

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