SQL Server - acumular dinamicamente columnas en sql server

   
Vista:

acumular dinamicamente columnas en sql server

Publicado por juan jose (1 intervención) el 14/06/2012 16:03:30
Hola amigos, espero que me puedan ayudar con lo siguiente

tengo una tabla de la siguiente manera

suc fecha inicial fecha final
G02 2008/06/12 2008/07/24
G02 2008/10/05 2008/12/13
G03 2008/01/05 2008/02/21
G03 2008/02/28 2008/04/30
G04 2008/02/12 2008/02/24
G04 2008/05/12 2008/07/24
G04 2008/08/12 2008/09/24
G04 2008/11/12 2008/12/24

y quiero que mi resultado sea el siguiente

suc FechaInv1 FechInv2 FechaInv3 FechaInv4 etc....
G02 2008/06/12 2008/10/05
G03 2008/01/05 2008/02/28
G04 2008/02/12 2008/05/12 2008/08/12 2008/11/12


en donde cada sucursal debe mostrar todas las auditorias que tuvo durante el año y como podran darse cuenta cada uno tiene diferentes cantidades, osea, hay que ir aumentando las columnas dependiendo de las auditorias que tenga la susc, si pudieran ayudarme, se los agradeceria mucho, USO SQL SERVER 2008
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

acumular dinamicamente columnas en sql server

Publicado por Isaias (3181 intervenciones) el 14/06/2012 23:37:55
Si es a modo de "grafico":

create table #Fechas (id char(3), fecha datetime)
insert into #Fechas values('G02','2008/06/12')
insert into #Fechas values('G02','2008/10/05')
insert into #Fechas values('G03','2008/01/05')
insert into #Fechas values('G03','2008/02/28')
insert into #Fechas values('G04','2008/02/12')
insert into #Fechas values('G04','2008/05/12')
insert into #Fechas values('G04','2008/08/12')
insert into #Fechas values('G04','2008/11/12')

SELECT a.ID, node.text
FROM (
SELECT DISTINCT id
FROM #Fechas
) AS a
CROSS APPLY(
SELECT convert(char(8),fecha, 112) AS '*'
FROM #Fechas
WHERE id = a.id
FOR XML PATH('')
) AS node(text)
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