Transformar filas en columnas

20/07/2005 - 18:45 por Tomás | Informe spam
Hola a todos.

Supongo que esta consulta ya se habrá realizado antes, pero he buscado
información y no consigo resolver lo que necesito, que por otra parte no se
si será posible.

Tengo la siguiente tabla:
CREATE TABLE [P] (
[Codigo] [char] (12) ,
[Mes] [int] ,
[Importe] [numeric](18, 2) ,
CONSTRAINT [PK_P] PRIMARY KEY NONCLUSTERED ([Codigo],[Mes]) ON [PRIMARY]
) ON [PRIMARY]

Con la siguiente información:
INSERT INTO [dbo].[P] VALUES('6000000',4,100.00)
INSERT INTO [dbo].[P] VALUES('6000000',6,100.00)
INSERT INTO [dbo].[P] VALUES('6000000',8,100.00)
INSERT INTO [dbo].[P] VALUES('6100000',1,500.00)
INSERT INTO [dbo].[P] VALUES('6100000',2,500.00)
INSERT INTO [dbo].[P] VALUES('6100000',3,500.00)
INSERT INTO [dbo].[P] VALUES('6200000',1,1000.00)
INSERT INTO [dbo].[P] VALUES('6200000',2,1000.00)
INSERT INTO [dbo].[P] VALUES('6200000',3,1000.00)

Y así, unos cuantos miles de registros.

Y quisiera obtener un informe con la siguiente cabecera:
CODIGO MES-1 MES-2 MES-3 MES-4 MES-5 MES-6 MES-7 MES-8 MES-9 MES-10 MES-11
MES-12 TOTAL

6000000 0 0 0 100.00 0 100.00
0 100.00 0 0 0 0 300.00
6100000 500.00 500.00 500.00 0 0 0
0 0 0 0 0 0 1,500.00
6200000 1,00.00 1,000.001,000.00 0 0 0 0
0 0 0 0 0 3,000.00

En este ejemplo se mostraría cero en aquellas columnas que no hay datos en
la tabla para el mes correspondiente.

Cualquier idea será bienvenida.

Gracias por anticipado.

Tomás.

Preguntas similare

Leer las respuestas

#6 Eleazar
23/07/2005 - 02:05 | Informe spam
Hola estoy desarrollando sobre SQL Server 2000 - 8.00.760 Standard Edition
y me gustria encontrar una manera de hacerlo dinamico En el ejemplo del
cuarto de año no hay problema porque siempre seran 4 columnas pero cualquier
otro caso que se van aumentando el numero de columnas? (como es codigo duro
no hay otra mas que modificar el codigo.)
saludos

"Isaias" escribió en el mensaje
news:
Esto es mas facil de lo que parece:

Lean este articulo:

http://support.microsoft.com/defaul...US;q175574
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida