SQL Server - Ayuda con cursor

   
Vista:

Ayuda con cursor

Publicado por Carlos Reyes (49 intervenciones) el 05/12/2007 18:05:01
Hola que tal, Solicitando su ayuda una vez mas

Necesito automatizar un query que me encargaron para realizar la actualizacion de una tabla de manera automatica. Debo obtener los promedios definiendo agrupaciones, esto ya lo logre. El asunto en cuestion es que me genera un registro por cada promedio, es decir, tengo 3 columnas de las cuales necesito el promedio, por lo que me genera 3 registros, se que necesito un cursor para obtener cada registro dentro de la agrupacion y meterlo en un solo registro, pero no se en que parte ponerlo, si alguien me puede ayudar se lo agradeceria.

Aqui esta mi query:

SELECT s.Zona,s.cadena,s.tienda,s.categoria,Trim1 = CASE When tri='Tri1' THEN PorcAnaquel ELSE 0 END,
Trim2 = CASE When tri='Tri2' THEN PorcAnaquel ELSE 0 END,
Trim3 = CASE WHEN tri='Tri3' THEN PorcAnaquel ELSE 0 END,
Cuarto1_Año = CASE When tri='Tri1' THEN PorcDisplay ELSE 0 END,
Cuarto2_Año = CASE When tri='Tri2' THEN PorcDisplay ELSE 0 END,
Cuarto3_Año = CASE WHEN tri='Tri3' THEN PorcDisplay ELSE 0 END
FROM #tmpSDO s, (SELECT AVG(PorcAnaquel) AS PorcAnaquel,AVG(PorcDisplay) AS PorcDisplay, tri, Zona,hol_nombre,cli_nombre FROM #Tmp1 group by Zona,hol_nombre,cli_nombre, tri) totalf
WHERE s.Zona = totalf.Zona
AND s.cadena=totalf.hol_nombre
AND s.tienda=totalf.cli_nombre
--AND s.categoria=totalf.categoria_name
--AND s.cadena ='TODAS'
AND s.categoria='TODAS'
--AND s.tienda ='Total Cadena'
order by s.Zona,s.cadena,s.tienda


y los registros que me arroja quedan algo asi:


Zona cadena tienda categoria trim1 trim2 trim3 Cuarto1_Año Cuarto2_Año Cuarto3_Año
811 1 661 TODAS 0 0 36.74 0 0 0
811 2 702 TODAS 0 0 32.40 0 0 0
811 2 702 TODAS 0 36.23 0 0 6.15 0
811 2 703 TODAS 0 32.30 0 0 11.11 0
811 2 703 TODAS 31.33 0 0 26.19 0 0
811 2 703 TODAS 0 0 32.66 0 0 20.83
811 2 704 TODAS 0 0 32.13 0 0 25.59
811 2 704 TODAS 32.98 0 0 14.58 0 0
811 2 704 TODAS 0 32.63 0 0 27.88 0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con cursor

Publicado por Carlos Reyes (49 intervenciones) el 05/12/2007 20:10:48
Ya lo solucione; no requeri el uso de un cursor, con un GROUP BY funciono

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar