Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

juntar duas estruturas de tabela idênticas com dados diferentes


Dois truques são necessários para completar esta consulta. O primeiro é um FULL JOIN. Uma junção completa permitirá que você combine as duas tabelas e insira nulos em qualquer uma das tabelas quando você não corresponder à condição de junção. A 2ª é COALESCE, que permitirá que você pegue a planta e o local de qualquer uma das tabelas que forneça um registro para esta linha nos resultados.
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