Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Extraer informacion de unica tabla con PIVOT

Estas en el tema de Extraer informacion de unica tabla con PIVOT en el foro de SQL Server en Foros del Web. Buen día a todos; Nuevamente les pido su ayuda en un inconveniente que tengo al extraer la info de una tabla, les explico, tengo una ...
  #1 (permalink)  
Antiguo 16/01/2010, 17:03
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Extraer informacion de unica tabla con PIVOT

Buen día a todos;

Nuevamente les pido su ayuda en un inconveniente que tengo al extraer la info de una tabla, les explico, tengo una tabla con la siguien extructura:

Código:
id_art	cantidad	precio
1	1		10
2	-1		-20
3	3		15
6	-2		-10
8	-1		-10
2	-2		-10
1	-1		-10
Ok, en la columna cantidad los negativos son salidas y los positivos entradas, entonces de qué manera se puede extraer usando tablas PIVOT para que quede de esta manera:

Código:
articulo	salidas		entradas		precio salida		precio entrada
1		-1			1			-10				10
2		-3			0			-30				0
3		0			3			0				15
6		-2			0			-10				-10
8		-1			0			-10				0
He intentado hacerlo con subconsultas pero nomas no me da, o me sugieren mejor extraer los datos por separado, entradas en una consulta y salidas en otra consulta, ahora en caso de que no se pueda con una tabla PIVOT qué me recomiendan usar?..

Saludos y gracias por responder.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #2 (permalink)  
Antiguo 18/01/2010, 08:04
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Extraer informacion de unica tabla con PIVOT

Has probado asi:
Código SQL:
Ver original
  1. SELECT id, SUM(CASE WHEN cantidad < 0 THEN cantidad ELSE 0 END) [salidas],
  2. SUM(CASE WHEN cantidad >= 0 THEN cantidad ELSE 0 END) [entradas],
  3. SUM(CASE WHEN cantidad < 0 THEN cantidad ELSE 0 END) [precio salida]
  4. FROM tabla
  5. GROUP BY id
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 18/01/2010, 19:19
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Extraer informacion de unica tabla con PIVOT

Muchisimas gracias flavio, me ha sido de mucha utilidad tu ejemplo. Gracias nuevamente. Saludos.

Bye
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::

Etiquetas: extraer, informacion, pivot, unica, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:40.