SQL Server - PIVOT con columnas dinámicas.

   
Vista:

PIVOT con columnas dinámicas.

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (59 intervenciones) el 22/06/2011 13:45:44
Hola, estoy realizando una consulta que requiere tablas cruzadas, con la cláusula PIVOT, pero me topo con un problema: no sé por adelantado las columnas que me van a resultar, y ese es un gran lastre porque actualmente debo codificarlas una a una.

Por ejemplo, si son meses, pues se sabe que son 12, pero aún así debo codificar de esta manera:

SELECT PROVEEDOR_ID, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]
FROM (
SELECT isnull(proveedo.nombre,pagos.proveedor_id) as PROVEEDOR_ID, MONTH(FECHA) AS MES, IMPORTE FROM PAGOS
left outer join proveedo on pagos.proveedor_id=proveedo.cod_pro
WHERE YEAR(FECHA)=2010
) AS FUENTE
PIVOT
( SUM(IMPORTE) FOR MES IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12] )
) AS DESTINO

¿Hay manera de ahorrarse poner en código duro cada una de las columnas?

Saludos.
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

PIVOT con columnas dinámicas.

Publicado por Isaias (3186 intervenciones) el 22/06/2011 17:46:06
Veamos si esto te es de utilidad:

http://www.aulaclic.es/sql/t_7_2.htm
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

PIVOT con columnas dinámicas.

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (59 intervenciones) el 22/06/2011 17:54:44
Por desgracia esa sintaxis de TRANSFORM es para sentencias SQL del Access, no funciona para Transact SQL :(
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
Imágen de perfil de Isaias

PIVOT con columnas dinámicas.

Publicado por Isaias (3186 intervenciones) el 22/06/2011 19:41:17
¿Que edicion-version de SQL Server manejas?
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

PIVOT con columnas dinámicas.

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (59 intervenciones) el 22/06/2011 20:02:19
SQL Server 2008...
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
Imágen de perfil de Isaias

PIVOT con columnas dinámicas.

Publicado por Isaias (3186 intervenciones) el 22/06/2011 23:50:23
¿Edicion? ¿32 o 64 bits?
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
Imágen de perfil de Isaias

PIVOT con columnas dinámicas.

Publicado por Isaias (3186 intervenciones) el 23/06/2011 02:28:57
Aqui se habla de un PIVOT DINAMICO, tal vez este si te sirva, de lo contrario, sigue buscando en SAN GOOGLE.

http://geeks.ms/blogs/ozonicco/archive/2007/12/28/implementaci-243-n-de-pivot-din-225-mico.aspx
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

PIVOT con columnas dinámicas.

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (59 intervenciones) el 23/06/2011 14:07:36
San Google es más generoso contigo, jajaja, gracias Isaías, creo que es justo lo que necesitaba. Ya lo adapto a mi caso, y aprovecho para aclarar que no soy un vaguete, jejeje, que estuve buscando antes pero nada, no me aclaraba.

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
Imágen de perfil de Isaias

PIVOT con columnas dinámicas.

Publicado por Isaias (3186 intervenciones) el 28/06/2011 02:03:55
4 ojos, ven mejor que 2, 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