TRANSPONER FILAS en SQL 2000 -- Por favor HELP !!!

17/02/2005 - 13:25 por Rodrigo desde Argentina | Informe spam
AMIGOS
ALGUIEN CONOCE ALGUNA FUNCION QUE ME PERMITRA TRANSPONER LAS FILAS
QUE OBTENGO DE UN SELEC .

EJEMPLO:
YO OBTENGO EL SIGUIENTE RESULTADO DEL SELECT .

Campo
-
1
2
3
4

Y NECESITO PRESENTARLO DE LA SIGUIENTE MANERA

Resultado
1 2 3 4

YO LO PUDE REALIZAR PERO EL BLOQUE DE CODIGO
ME QUEDO DEMASIADO EXTENSO... ES POR ESO QUE QUERIA
SABER SI EXISTIA ALGUNA FUNCION PARA HACERLO MAS FACIL

DESDE YA MUCHAS GRACIAS AMIGOS

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
17/02/2005 - 13:55 | Informe spam
Rodrigo,

No existe ninguna funcion en sql server para transponer filas (si lo habra
en la version 2005). Por lo pronto puedes hacer uso de la expresion CASE para
hacerlo, pero debes conocer los valores de antemano. La otra opcion es armar
una sentencia dinamica.

Ejemplo:

select

from (
select 1
union all
select 2
union all
select 3
union all
select 4
) as t(colA)

"Rodrigo desde Argentina" wrote:

AMIGOS
ALGUIEN CONOCE ALGUNA FUNCION QUE ME PERMITRA TRANSPONER LAS FILAS
QUE OBTENGO DE UN SELEC .

EJEMPLO:
YO OBTENGO EL SIGUIENTE RESULTADO DEL SELECT .

Campo
-
1
2
3
4

Y NECESITO PRESENTARLO DE LA SIGUIENTE MANERA

Resultado
1 2 3 4

YO LO PUDE REALIZAR PERO EL BLOQUE DE CODIGO
ME QUEDO DEMASIADO EXTENSO... ES POR ESO QUE QUERIA
SABER SI EXISTIA ALGUNA FUNCION PARA HACERLO MAS FACIL

DESDE YA MUCHAS GRACIAS AMIGOS
Respuesta Responder a este mensaje
#2 Tinoco
17/02/2005 - 13:59 | Informe spam
Hola Rodrigo,

Puedes revisar este articulo que explica como pasar las filas a columnas.

http://www.microsoft.com/spanish/ms...art196.asp

Hermilson Tinoco

"Rodrigo desde Argentina" wrote:

AMIGOS
ALGUIEN CONOCE ALGUNA FUNCION QUE ME PERMITRA TRANSPONER LAS FILAS
QUE OBTENGO DE UN SELEC .

EJEMPLO:
YO OBTENGO EL SIGUIENTE RESULTADO DEL SELECT .

Campo
-
1
2
3
4

Y NECESITO PRESENTARLO DE LA SIGUIENTE MANERA

Resultado
1 2 3 4

YO LO PUDE REALIZAR PERO EL BLOQUE DE CODIGO
ME QUEDO DEMASIADO EXTENSO... ES POR ESO QUE QUERIA
SABER SI EXISTIA ALGUNA FUNCION PARA HACERLO MAS FACIL

DESDE YA MUCHAS GRACIAS AMIGOS
Respuesta Responder a este mensaje
#3 Alejandro Mesa
17/02/2005 - 14:31 | Informe spam
No pude terminar el ejemplo anterior, presione TAB y ENTER. De todas maneras
no iba por el camino correcto. Como decia, se necesita saber de antemano
cuantas filas debemos convertir a columnas.

Ejemplo:

use northwind
go

declare @t table (
colA int
)

insert into @t values(1)
insert into @t values(2)
insert into @t values(3)
insert into @t values(4)

select distinct
(select top 1 colA from @t order by colA asc) as colA,
(select top 1 colA from (select top 2 colA from @t order by colA asc) as a
order by colA desc) as colB,
(select top 1 colA from (select top 3 colA from @t order by colA asc) as a
order by colA desc) as colC,
(select top 1 colA from (select top 4 colA from @t order by colA asc) as a
order by colA desc) as colD
from
@t as t
go

declare @t table (
colA int,
colB int
)

insert into @t values(1, 1)
insert into @t values(1, 2)
insert into @t values(1, 3)
insert into @t values(1, 4)

insert into @t values(2, 1)
insert into @t values(2, 2)
insert into @t values(2, 3)
insert into @t values(2, 4)


select distinct
t.colA,
(select top 1 a.colB from @t as a where a.colA = t.colA order by a.colB
asc) as colA,
(select top 1 a.colB from (select top 2 b.colB from @t as b where b.colA =
t.colA order by b.colA asc) as a order by a.colB desc) as colB,
(select top 1 a.colB from (select top 3 b.colB from @t as b where b.colA =
t.colA order by b.colA asc) as a order by a.colB desc) as colC,
(select top 1 a.colB from (select top 4 b.colB from @t as b where b.colA =
t.colA order by b.colA asc) as a order by a.colB desc) as colD
from
@t as t
go


AMB

"Alejandro Mesa" wrote:

Rodrigo,

No existe ninguna funcion en sql server para transponer filas (si lo habra
en la version 2005). Por lo pronto puedes hacer uso de la expresion CASE para
hacerlo, pero debes conocer los valores de antemano. La otra opcion es armar
una sentencia dinamica.

Ejemplo:

select

from (
select 1
union all
select 2
union all
select 3
union all
select 4
) as t(colA)

"Rodrigo desde Argentina" wrote:

> AMIGOS
> ALGUIEN CONOCE ALGUNA FUNCION QUE ME PERMITRA TRANSPONER LAS FILAS
> QUE OBTENGO DE UN SELEC .
>
> EJEMPLO:
> YO OBTENGO EL SIGUIENTE RESULTADO DEL SELECT .
>
> Campo
> -
> 1
> 2
> 3
> 4
>
> Y NECESITO PRESENTARLO DE LA SIGUIENTE MANERA
>
> Resultado
> 1 2 3 4
>
> YO LO PUDE REALIZAR PERO EL BLOQUE DE CODIGO
> ME QUEDO DEMASIADO EXTENSO... ES POR ESO QUE QUERIA
> SABER SI EXISTIA ALGUNA FUNCION PARA HACERLO MAS FACIL
>
> DESDE YA MUCHAS GRACIAS AMIGOS
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida