Como Convertir Filas en Columnas Dinamicamente en Sql2000

21/12/2005 - 21:37 por Developers | Informe spam
Amigos como puedo hacer para convertir Filas en Columnas sabiendo que las
filas pueden ser variables.
Tengo esta data:

ProductoID Fecha Ingreso Salida
11111111 10/12/2005 100 0
11111111 10/12/2005 0 50
8888888 13/12/2005 0 35
7777777 15/12/2005 80 0
7777777 15/12/2005 10 0
5555555 20/12/2005 0 15
1111111 20/12/2005 0 35

Ahora tengo esta sentencia con Fechas Variables:
SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
FROM DetalleAlmacen T2
WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND T2.Almacen='001'
AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA

Y Devuelve de esta manera :
ProductoID Fecha Cant_Mov
11111111 10/12/2005 50
8888888 13/12/2005 -35
7777777 15/12/2005 90
5555555 20/12/2005 -15
1111111 20/12/2005 -35

Pero realmente lo necesito de esta manera:
ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
,demas fechas
11111111
-35
88888888 -35
77777777 -15
55555555
-35

Realmente se podria en SQl hacerlo..

gracias desde ya por todo la información que me puedan brindar

Developers - Dany Acosta

Preguntas similare

Leer las respuestas

#1 Maxi
21/12/2005 - 21:43 | Informe spam
Hola,

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


Salu2
Maxi [MVP SQL SERVER]


"Developers" escribió en el mensaje
news:
Amigos como puedo hacer para convertir Filas en Columnas sabiendo que las
filas pueden ser variables.
Tengo esta data:

ProductoID Fecha Ingreso Salida
11111111 10/12/2005 100 0
11111111 10/12/2005 0 50
8888888 13/12/2005 0 35
7777777 15/12/2005 80 0
7777777 15/12/2005 10 0
5555555 20/12/2005 0 15
1111111 20/12/2005 0 35

Ahora tengo esta sentencia con Fechas Variables:
SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
FROM DetalleAlmacen T2
WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND T2.Almacen='001'
AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA

Y Devuelve de esta manera :
ProductoID Fecha Cant_Mov
11111111 10/12/2005 50
8888888 13/12/2005 -35
7777777 15/12/2005 90
5555555 20/12/2005 -15
1111111 20/12/2005 -35

Pero realmente lo necesito de esta manera:
ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
,demas fechas
11111111
-35
88888888 -35
77777777 -15
55555555
-35

Realmente se podria en SQl hacerlo..

gracias desde ya por todo la información que me puedan brindar

Developers - Dany Acosta



Respuesta Responder a este mensaje
#2 Developers
21/12/2005 - 23:03 | Informe spam
Gracias Maxi, por el Link...

"Maxi" escribió en el mensaje
news:%
Hola,




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


Salu2
Maxi [MVP SQL SERVER]


"Developers" escribió en el mensaje
news:
> Amigos como puedo hacer para convertir Filas en Columnas sabiendo que


las
> filas pueden ser variables.
> Tengo esta data:
>
> ProductoID Fecha Ingreso Salida
> 11111111 10/12/2005 100 0
> 11111111 10/12/2005 0 50
> 8888888 13/12/2005 0 35
> 7777777 15/12/2005 80 0
> 7777777 15/12/2005 10 0
> 5555555 20/12/2005 0 15
> 1111111 20/12/2005 0 35
>
> Ahora tengo esta sentencia con Fechas Variables:
> SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
> FROM DetalleAlmacen T2
> WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND


T2.Almacen='001'
> AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA
>
> Y Devuelve de esta manera :
> ProductoID Fecha Cant_Mov
> 11111111 10/12/2005 50
> 8888888 13/12/2005 -35
> 7777777 15/12/2005 90
> 5555555 20/12/2005 -15
> 1111111 20/12/2005 -35
>
> Pero realmente lo necesito de esta manera:
> ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
> ,demas fechas
> 11111111
> -35
> 88888888 -35
> 77777777 -15
> 55555555
> -35
>
> Realmente se podria en SQl hacerlo..
>
> gracias desde ya por todo la información que me puedan brindar
>
> Developers - Dany Acosta
>
>
>


Respuesta Responder a este mensaje
#3 Alejandro Mesa
21/12/2005 - 23:11 | Informe spam
Dynamic Cross-Tabs/Pivot Tables
http://www.sqlteam.com/item.asp?ItemID)55

Dynamic Crosstab Queries
http://www.windowsitpro.com/SQLServ...15608.html


AMB

"Developers" wrote:

Amigos como puedo hacer para convertir Filas en Columnas sabiendo que las
filas pueden ser variables.
Tengo esta data:

ProductoID Fecha Ingreso Salida
11111111 10/12/2005 100 0
11111111 10/12/2005 0 50
8888888 13/12/2005 0 35
7777777 15/12/2005 80 0
7777777 15/12/2005 10 0
5555555 20/12/2005 0 15
1111111 20/12/2005 0 35

Ahora tengo esta sentencia con Fechas Variables:
SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
FROM DetalleAlmacen T2
WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND T2.Almacen='001'
AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA

Y Devuelve de esta manera :
ProductoID Fecha Cant_Mov
11111111 10/12/2005 50
8888888 13/12/2005 -35
7777777 15/12/2005 90
5555555 20/12/2005 -15
1111111 20/12/2005 -35

Pero realmente lo necesito de esta manera:
ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
.,demas fechas
11111111
-35
88888888 -35
77777777 -15
55555555
-35

Realmente se podria en SQl hacerlo..

gracias desde ya por todo la información que me puedan brindar

Developers - Dany Acosta




Respuesta Responder a este mensaje
#4 Developers
21/12/2005 - 23:13 | Informe spam
Y Yo que pense que no iba a usar cursores :-(

"Developers" escribió en el mensaje
news:
Amigos como puedo hacer para convertir Filas en Columnas sabiendo que las
filas pueden ser variables.
Tengo esta data:

ProductoID Fecha Ingreso Salida
11111111 10/12/2005 100 0
11111111 10/12/2005 0 50
8888888 13/12/2005 0 35
7777777 15/12/2005 80 0
7777777 15/12/2005 10 0
5555555 20/12/2005 0 15
1111111 20/12/2005 0 35

Ahora tengo esta sentencia con Fechas Variables:
SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
FROM DetalleAlmacen T2
WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND T2.Almacen='001'
AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA

Y Devuelve de esta manera :
ProductoID Fecha Cant_Mov
11111111 10/12/2005 50
8888888 13/12/2005 -35
7777777 15/12/2005 90
5555555 20/12/2005 -15
1111111 20/12/2005 -35

Pero realmente lo necesito de esta manera:
ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
,demas fechas
11111111
-35
88888888 -35
77777777 -15
55555555
-35

Realmente se podria en SQl hacerlo..

gracias desde ya por todo la información que me puedan brindar

Developers - Dany Acosta



Respuesta Responder a este mensaje
#5 Alejandro Mesa
21/12/2005 - 23:43 | Informe spam
Developers,

Y Yo que pense que no iba a usar cursores :-(



Esa no es una tarea para sql server o al menos no para sql server 2000.
Quizas si dejas que la herramienta de reportes haga el crosstab entonces no
tendras que usarlos.


AMB

"Developers" wrote:

Y Yo que pense que no iba a usar cursores :-(

"Developers" escribió en el mensaje
news:
> Amigos como puedo hacer para convertir Filas en Columnas sabiendo que las
> filas pueden ser variables.
> Tengo esta data:
>
> ProductoID Fecha Ingreso Salida
> 11111111 10/12/2005 100 0
> 11111111 10/12/2005 0 50
> 8888888 13/12/2005 0 35
> 7777777 15/12/2005 80 0
> 7777777 15/12/2005 10 0
> 5555555 20/12/2005 0 15
> 1111111 20/12/2005 0 35
>
> Ahora tengo esta sentencia con Fechas Variables:
> SELECT T2.PRODUCTOID, T2.FECHA, SUM(T2.INGRESO-T2.SALIDA) AS CANT_MOV
> FROM DetalleAlmacen T2
> WHERE (T2.FECHA>='20051210' AND T2.FECHA<'20051220') AND T2.Almacen='001'
> AND T2.Estado='A' AND GROUP BY T2.PRODUCTOID, T2.FECHA
>
> Y Devuelve de esta manera :
> ProductoID Fecha Cant_Mov
> 11111111 10/12/2005 50
> 8888888 13/12/2005 -35
> 7777777 15/12/2005 90
> 5555555 20/12/2005 -15
> 1111111 20/12/2005 -35
>
> Pero realmente lo necesito de esta manera:
> ProductoID 10/12/2005 13/12/2005 15/12/2005 20/12/2005
> ,demas fechas
> 11111111
> -35
> 88888888 -35
> 77777777 -15
> 55555555
> -35
>
> Realmente se podria en SQl hacerlo..
>
> gracias desde ya por todo la información que me puedan brindar
>
> Developers - Dany Acosta
>
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida