es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Join completo con MS SQL Server

Quería usar una unión completa para resolver esta pregunta de LeetCode: https://leetcode.com/problems/reformat-department-table/

El problema es que como no todos los meses están en todas las ID de departamento, estoy obteniendo una fila nula que debería corresponder al departamento 3. ¿Existe alguna posibilidad de resolver este tipo de pregunta haciendo uniones completas?

/* Escribe tu declaración de consulta T-SQL a continuación */

select m1.id,
m1.revenue as Jan_Revenue,
m2.revenue as Feb_Revenue,
m3.revenue as Mar_Revenue,
m4.revenue as Apr_Revenue,
m5.revenue as May_Revenue,
m6.revenue as Jun_Revenue,
m7.revenue as Jul_Revenue,
m8.revenue as Aug_Revenue,
m9.revenue as Sep_Revenue,
m10.revenue as Oct_Revenue,
m11.revenue as Nov_Revenue,
m12.revenue as Dec_Revenue
from (select * from Department where month = ‘Jan’) m1
full join (select * from Department where month = ‘Feb’) m2
on m1.id = m2.id
full join (select * from Department where month = ‘Mar’) m3
on m2.id = m3.id
full join (select * from Department where month = ‘Apr’) m4
on m3.id = m4.id
full join (select * from Department where month = ‘May’) m5
on m4.id = m5.id
full join (select * from Department where month = ‘Jun’) m6
on m5.id = m6.id
full join (select * from Department where month = ‘Jul’) m7
on m6.id = m7.id
full join (select * from Department where month = ‘Aug’) m8
on m7.id = m8.id
full join (select * from Department where month = ‘Sep’) m9
on m8.id = m9.id
full join (select * from Department where month = ‘Oct’) m10
on m9.id = m10.id
full join (select * from Department where month = ‘Nov’) m11
on m10.id = m11.id
full join (select * from Department where month = ‘Dec’) m12
on m11.id = m12.id

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, se puede utilizar una unión completa para resolver este problema, ya que incluye todas las filas de ambas tablas, incluso aquellas en las que no hay una coincidencia en la otra tabla. En el caso de la tabla de Departamento, al utilizar una unión completa se asegura que se incluyan todos los meses para cada ID de departamento, incluyendo el departamento 3 que tiene valores nulos en algunos meses. Esta consulta combina efectivamente los datos de todos los departamentos y todos los meses, lo que permite un fácil análisis en todo el conjunto de datos.

Comments are closed.