sql >> Base de Datos >  >> RDS >> Sqlserver

unir dos estructuras de tablas idénticas con datos diferentes

Se necesitan dos trucos para completar esta consulta. La primera es una UNIÓN COMPLETA. Una combinación completa le permitirá combinar ambas tablas e insertar valores nulos en cualquiera de las tablas cuando no coincida con la condición de combinación. El segundo es COALESCE, que le permitirá tomar la planta y el sitio de cualquiera de las tablas que proporcione un registro para esta fila en los 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