Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta agrupacion de datos por fila

Estas en el tema de Consulta agrupacion de datos por fila en el foro de SQL Server en Foros del Web. 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: ...
  #1 (permalink)  
Antiguo 14/04/2015, 11:32
 
Fecha de Ingreso: abril-2015
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Información Consulta agrupacion de datos por fila

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 original
  1. SELECT
  2.       rt.[name] AS [DESC]
  3.      ,CASE WHEN [crew] = 'Grupo 1' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo1
  4.      ,CASE WHEN [crew] = 'Grupo 2' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo2
  5.      ,CASE WHEN [crew] = 'Grupo 3' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo3
  6.      ,CASE WHEN [crew] = 'Grupo 4' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo4
  7.   FROM [scmapview].[dbo].[hist_statusevents] stat
  8.     INNER JOIN [scmapview].[dbo].[hist_exproot] eroot
  9.       ON stat.shiftindex = eroot.shiftindex
  10.    INNER JOIN scmapview.dbo.hist_reasontable AS rt
  11.       ON stat.shiftindex = rt.shiftindex
  12.       AND stat.[STATUS] = rt.[STATUS]
  13.       AND stat.[category] = rt.[category]
  14.       AND stat.[reason] = rt.[reason]
  15.   WHERE [shiftdate] BETWEEN '2015-01-01' AND '2015-01-07'
  16.   AND stat.[STATUS] IN (4) AND [unit] = '1'
  17.   GROUP BY crew , rt.[name]
  18.   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.

Última edición por gnzsoloyo; 14/04/2015 a las 11:41
  #2 (permalink)  
Antiguo 14/04/2015, 11:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta agrupacion de datos por fila

simple ;)


Código SQL:
Ver original
  1. SELECT DESC,SUM(grupo1), SUM(grupo2), SUM(grupo3), SUM(grupo4) FROM
  2. (
  3. SELECT
  4.       rt.[name] AS [DESC]
  5.      ,CASE WHEN [crew] = 'Grupo 1' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo1
  6.      ,CASE WHEN [crew] = 'Grupo 2' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo2
  7.      ,CASE WHEN [crew] = 'Grupo 3' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo3
  8.      ,CASE WHEN [crew] = 'Grupo 4' THEN ROUND(SUM(stat.[duration] / 3600),2)END AS Grupo4
  9.   FROM [scmapview].[dbo].[hist_statusevents] stat
  10.     INNER JOIN [scmapview].[dbo].[hist_exproot] eroot
  11.       ON stat.shiftindex = eroot.shiftindex
  12.    INNER JOIN scmapview.dbo.hist_reasontable AS rt
  13.       ON stat.shiftindex = rt.shiftindex
  14.       AND stat.[STATUS] = rt.[STATUS]
  15.       AND stat.[category] = rt.[category]
  16.       AND stat.[reason] = rt.[reason]
  17.   WHERE [shiftdate] BETWEEN '2015-01-01' AND '2015-01-07'
  18.   AND stat.[STATUS] IN (4) AND [unit] = '1'
  19.   GROUP BY crew , rt.[name]
  20. --  ORDER BY rt.[name]
  21. ) AS t1
  22. GROUP BY DESC
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 21/04/2015, 07:26
 
Fecha de Ingreso: abril-2015
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Respuesta: Consulta agrupacion de datos por fila

No funciona
  #4 (permalink)  
Antiguo 21/04/2015, 07:28
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta agrupacion de datos por fila

que no funciona?? que error manda?? o asi solo "no funciona"? se un poco mas explicit@ por favor.......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: agrupacion, fila, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.