04/05/2011, 16:37
|
| | 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'
|