Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/05/2011, 16:37
jahireffer
 
Fecha de Ingreso: mayo-2011
Mensajes: 9
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Dilema con consulta

Hola muchachos de nuevo gracias por responder, pues les cuento que mi jefe encontró la solucion y tiene que ver mucho con la idea y ejemplo de 'leonardo_josue', pues el realizó tres consultas y las unió con union all, aun no comprendo mucho la consulta pero ahi les va por si necesitan algo parecido, y si alguien me la puede explicar seria genial, de igual forma gracias muchachos y gracias leo:

Código:
SELECT '90001' AS ITEM
		,'860354511' AS NIT
		,'PH' AS CLIENTE
		,'SALDO' AS TIPO
		,'BOD1' AS NRO_PED
		,GETDATE() AS FECHA_PED
		,GETDATE() AS FECHA_ENT
		,dbo.F_Saldo_Bodega_Informe
					(YEAR(GETDATE()),MONTH(GETDATE()),'90001',01,'T','C') AS CANTIDAD_CAJA
UNION ALL
SELECT '90001' AS ITEM
		,'860354511' AS NIT
		,'PH' AS CLIENTE
		,'SALDO' AS TIPO
		,'BOD69' AS NRO_PED
		,GETDATE() AS FECHA_PED
		,GETDATE() AS FECHA_ENT
		,dbo.F_Saldo_Bodega_Informe
					(YEAR(GETDATE()),MONTH(GETDATE()),'90001',69,'T','C') AS CANTIDAD_CAJA
UNION ALL
SELECT A.CODIGO AS ITEM
		,'860354511' AS NIT
		,'PH' AS CLIENTE		
		,'SALDO' AS TIPO
		,'OE' AS NRO_PED 
		,GETDATE() AS FECHA_PED
		,GETDATE() AS FECHA_ENT
		,SUM (A.CANTPROD-A.CANTENTREG) AS CANTIDAD_CAJA
			 FROM RECEPROG A WHERE A.CODIGO= '90001' GROUP BY A.CODIGO
UNION ALL
SELECT SUBSTRING (B.PRODUCTO,1,5) AS ITEM
	--,E.DESCRIPCIO AS PRODUCTO
	,C.NIT AS NIT
	,D.NOMBRE AS CLIENTE
	,'PED' AS TIPO
	,C.NRODCTO AS NRO_PD
	,C.FECHA AS FECHA_PED
	,B.FECENT AS FECHA_ENT
	--,B.CANTIDAD
	,CAST(CASE
			WHEN LEN(B.PRODUCTO)=6 THEN (B.CANTIDAD)/
			ISNULL((SELECT MTMERCIA.UNIDADMED FROM MTMERCIA
			WHERE MTMERCIA.CODIGO = CASE
			WHEN LEN(B.PRODUCTO)=6 THEN SUBSTRING(B.PRODUCTO,1,5)
			ELSE B.PRODUCTO
			END
			),'1')	
			ELSE (B.CANTIDAD)
			END AS DECIMAL)CANTIDAD_CAJA
	 FROM MVTRADE B INNER JOIN TRADE C ON B.ORIGEN=C.ORIGEN AND B.TIPODCTO=C.TIPODCTO AND B.NRODCTO=C.NRODCTO
					INNER JOIN MTPROCLI D ON C.NIT = D.NIT
					INNER JOIN MTMERCIA E ON B.PRODUCTO = E.CODIGO 
	 WHERE B.TIPODCTO = 'PD' AND B.PRODUCTO = '90001'AND B.FECHA BETWEEN '20110401' AND '20110430'