Filas a columnas

Necesito saber como puedo convertir este resultado:
bib Text
6 Valor, Josep
6 Ricart i Costa, Joan E., 1956-
6 Andreu, Rafael
10 Torbert, Marianne.
10 Benavides, Helda.
10 Gally, Esther.
11 Staël, Madame de, 1766-1817.
11 Bonvecchio, Claudio
17 Lavados Montes, Hugo.
17 Pérsico Jiménez, Pablo.
17 Albornoz Galdamez, Mario Eduardo.
En esto:
6 Valor, Josep/ Ricart i Costa, Joan E., 1956- /Andreu, Rafael
10 Torbert, Marianne./ Benavides, Helda. /Gally, Esther.
11 Staël, Madame de, 1766-1817./ Bonvecchio, Claudio
17 Lavados Montes, Hugo./ Persico Jiménez, Pablo./ Albornoz Galdamez, Mario Eduardo./
Atentamente. Ernesto

1 Respuesta

Respuesta
1
Si solo lo necesitas para una clave (bib), con este query lo puedes sacar:
Begin
    Declare @ret varchar(8000)
    set @ret=''
    select    @ret = @ret + Texto + ' / '
    from    Tabla_Bib
    where    Texto > @ret AND
            bib = 10
    SELECT substring(@ret, 1, LEN(@ret)-2)
END
Si lo necesitas para todas las filas o un rango de filas de la tabla puedes usar un cursor como te lo pongo aquí:
CREATE TABLE #Nevo_Orden(
    [Bib] [int] NULL,
    [Texto] [varchar](250) NULL
)
Declare @ret varchar(8000)
Declare @Bib int
declare Cur_Biblio cursor for
    select    distinct bib from Tabla_Bib
open Cur_Biblio
    fetch next from Cur_Biblio
    into @Bib
    while @@fetch_status = 0
    begin
        set @ret=''
select    @ret = @ret + Texto + ' / '
        from    Tabla_Bib
        where    Texto > @ret AND
                bib = @Bib
        INSERT INTO #Nevo_Orden
        VALUES(@Bib, @ret)
        fetch next from Cur_Biblio
        into @Bib
    end
close Cur_Biblio
deallocate Cur_Biblio
SELECT    bib, substring(Texto, 1, LEN(Texto)-2)
FROM    #Nevo_Orden

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas