SQL - Ayuda Novato sql pivot

 
Vista:
sin imagen de perfil

Ayuda Novato sql pivot

Publicado por Martin (11 intervenciones) el 01/04/2014 17:53:24
Hola a todos, estoy empezando recien a aprender sql, tengo una vista en sql 2008/r2 la cual me muestra siempre la informacion de las ventas de articulos x cliente en un period determinado el cual siempre es del mes actual al mismo mes del año anterior, en este caso abril 2014 a abril 2013, el problema que tengo es que me muestra la informacion verticalmente y yo necesito mostrarla horizontalmente, una columna por cada mes, 13 en total, lo mas dificil es que cada mes cambiaran los encabezados de las columnas, es decir que si hoy van desde 201404 hasta 201304 en mayo seran 201405 hasta 201305 y no encuentro la forma de realizer esto, se que con un pivot dinamico pero siendo honesto les comento que no he logrado entender del todo los pivot estaticos mucho menos entiendo los dinamicos, espero que alguien me pueda orientar, he visto ejemplos pero no he podido entenderlos se me hace bastante complicado aun, les comparto mi codigo, gracias anticipadas...



RESULTADO ACTUAL :

|DebCode|Debtor|ItemCode|ItemDescription| Date |Sold |
|1000000|Deb100|item-001|item-descript-1|201403|05.00|
|1000000|Deb100|item-001|item-descript-1|201402|02.00|
|1000001|Deb101|item-002|item-descript-2|201403|01.00|

RESULTS QUE NECESITO :

|DebCode|Debtor|ItemCode|ItemDescription|201403|->|201303|
|1000001 |Deb100|item-001|item-descipt-01 | 05.00 |->|01.00 |

MI CODIGO :

SELECT TOP (100) PERCENT debcode, Debtor, ItemCode, ItemDescription, Year * 100 + Month AS Fecha, Sold
FROM dbo.View_VK_ORDERS_SUMARY_F
GROUP BY debcode, Debtor, ItemCode, ItemDescription, Year, Month, Sold
ORDER BY Fecha DESC
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Ayuda Novato sql pivot

Publicado por Isaias (1921 intervenciones) el 01/04/2014 18:51:42
Prueba esto:

select * from #paso
pivot (sum(Sold) for sDate in([201403],[201402])) as fecha
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