SQL Server - referencia cruzada

   
Vista:

referencia cruzada

Publicado por Jorge Escobar (4 intervenciones) el 01/11/2007 18:00:45
Necesito su ayuda.

tengo mi tabla de ventas
codigo año mes cantidad
1 2006 12 6
2 2007 01 5
3 2007 01 10
4 2007 02 5
5 2007 04 3
6 2007 03 4
7 2007 05 6
8 2007 06 7
9 2007 08 9
10 2007 09 7
11 2007 10 6
12 2007 11 5

para el ejemplo solo incluyo un registro por cada mes.

secede que :
dado un mes y año como argumentos, me deve mostrar un listado de las ventas de los 12 meses anteriores al mes ingresado como

argumento. (es decir si ingreso 2007 11 me deve mostrar los resultados desde dicimebre del 2006 hasta el 2007 11)
hasta el momento todo bien, lo raro es que lo quieren los meses que se muestren en columnas y no en filas.

algo asi
meses dic2006 ene2007 feb2007 mar2007 abr2007.....nov2007
cant. 6 5 10 5 3 5

esto es referencia cruzada. alguien me puede dar una idea de como hacerlo.

buscando informacion me encontré con un manual en que devo utilizar PIVOT pero el caso es que trabajo con SQL inferior al 2000 , lo que no reconoce esta funcion
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:referencia cruzada

Publicado por Isaias (3308 intervenciones) el 01/11/2007 20:50:21
Debes hacer algo, como:

SELECT AÑO,
SUM(CASE WHEN MES = 1 THEN IMPORTE END) AS ENERO,
SUM(CASE WHEN MES = 2 THEN IMPORTE END) AS FEBRERO,
SUM(CASE WHEN MES = 4 THEN IMPORTE END) AS MARZO,
.............................................................................................
SUM(CASE WHEN MES = 12 THEN IMPORTE END) AS DICIEMBRE
FROM tutabla
GROUP BY AÑO
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

RE:referencia cruzada

Publicado por Jorge Escobar (4 intervenciones) el 02/11/2007 01:14:23
inicialmente hice eso, pero eso me limita a obtener solo informacion solo de un año y no presisamente la informacion lo quieren de enero a diciembre, sino los 12 meses anteriores a uno seleccionado.
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

RE:referencia cruzada

Publicado por Isaias (3308 intervenciones) el 02/11/2007 01:18:21
¿Lo quieres hacer con una sola instruccion SELECT?, No es por desanimarte, pero no creo que se pueda.
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