Hola estimados, soy Nuevo en este foro, la verdad es que no encuentro la respuesta y si alguien me puee ayudar, mejor.
Mi query es:
Código SQL:
Ver originalSELECT
rt.[name] AS [DESC]
,CASE WHEN [crew] = 'Grupo 1' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo1
,CASE WHEN [crew] = 'Grupo 2' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo2
,CASE WHEN [crew] = 'Grupo 3' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo3
,CASE WHEN [crew] = 'Grupo 4' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo4
FROM [scmapview].[dbo].[hist_statusevents] stat
INNER JOIN [scmapview].[dbo].[hist_exproot] eroot
ON stat.shiftindex = eroot.shiftindex
INNER JOIN scmapview.dbo.hist_reasontable AS rt
ON stat.shiftindex = rt.shiftindex
AND stat.[STATUS] = rt.[STATUS]
AND stat.[category] = rt.[category]
AND stat.[reason] = rt.[reason]
WHERE [shiftdate] BETWEEN '2015-01-01' AND '2015-01-07'
AND stat.[STATUS] IN (4) AND [unit] = '1'
GROUP BY crew , rt.[name]
ORDER BY rt.[name]
y me entrega esto:
Desc Grupo 1 Grupo2 grupo3 grupo 4
ABASTECIMIENTO COMBUSTIBLE NULL NULL NULL 48.93
ABASTECIMIENTO COMBUSTIBLE NULL 9.21 NULL NULL
ABASTECIMIENTO COMBUSTIBLE NULL NULL 54.35 NULL
ABASTECIMIENTO COMBUSTIBLE 27.36 NULL NULL NULL
CAMBIO DE BANCO 0 NULL NULL NULL
Quiero hacer una query que agrupe asi:
Desc Grupo 1 Grupo2 grupo3 grupo 4
ABASTECIMIENTO COMBUSTIBLE 27.36 NULL 54.35 48.93
Alguien sabe como hacerlo?
gracias.