Buen Dia a todos
Que tal pues aqui andamos de nuevo dando lata
Tengo Los siguientes querys en los cuales obtengo sumatorias de acuerdo a los datos que hay en la base de datos: Estos son mis querys por separado con resultados obtenidos:
QUERY1:
Select a.CAMPOSTRU3,Sum(b.CANT * b.COSTO) as Mov51
From INVE01 a,MINV01 b
Where a.CLV_ART = b.CLV_ART And a.CAMPOSTRU3 IS NOT NULL And b.TIPO_MOV = 51
And b.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE('06/30/2008 23:59')
Group By a.CAMPOSTRU3
RESULTADO:
CAMPOSTRU3 Mov51
------------------------- ----------------------
F Q 136.55232
FOIL 610627.349877731
HILO LATEX 5472744.37315678
HILO METAL 40717.90504008
HILO POL 762152.747435039
LATEX 3325.6087064
OTROS 13350.79252187
Q101 135.49547
RIBBON 321790.66698457
TELA 6696640.36808187
TYVEK 27891.5453
Z052 306.65596
QUERY2:
Select a.CAMPOSTRU3,Sum(b.CANT * b.COSTO) as Mov4
From INVE01 a,MINV01 b
Where a.CLV_ART = b.CLV_ART And a.CAMPOSTRU3 IS NOT NULL And b.TIPO_MOV = 4
And b.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE('06/30/2008 23:59')
Group By a.CAMPOSTRU3
RESULTADO:
CAMPOSTRU3 Mov4
------------------------- ----------------------
FOIL 54575.88770434
HILO LATEX 942839.388915579
HILO POL 13010.3660495
OTROS 1619.98846667
RIBBON 20961.45546186
TELA 542480.90282725
QUERY3:
Select a.CAMPOSTRU3,Sum(b.CANT * b.COSTO) as Mov2
From INVE01 a,MINV01 b
Where a.CLV_ART = b.CLV_ART And a.CAMPOSTRU3 IS NOT NULL And b.TIPO_MOV = 2
And b.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE('06/30/2008 23:59')
Group By a.CAMPOSTRU3
RESULTADO:
CAMPOSTRU3 Mov2
------------------------- ----------------------
FOIL 5379.57536262
HILO LATEX 311221.9937792
HILO METAL 3165.372
HILO POL 6094.39524
RIBBON 2926.78388916
TELA
QUERY4:
Select a.CAMPOSTRU3,Sum(b.CANT * b.COSTO) as Mov1
From INVE01 a,MINV01 b
Where a.CLV_ART = b.CLV_ART And a.CAMPOSTRU3 IS NOT NULL And b.TIPO_MOV = 1
And b.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE('06/30/2008 23:59')
Group By a.CAMPOSTRU3
RESULTADO:
CAMPOSTRU3 Mov1
------------------------- ----------------------
FOIL 338234.05301336
HILO LATEX 2967737.57596945
HILO METAL 40127.314
HILO POL 1034972.50290778
OTROS 7203.62237344
RIBBON 210102.07657985
TELA 8742984.79363477
Bueno ahora lo que necesito es agrupar esas consultas para que pueda realizar una operacion como la siguiente
Mov51-Mov4-Mov2+Mov1
No se si se pueda hacer eso por sql yo ya lo intente por Subquerys pero me manda error Este es mi primer intento con solo dos Tipos de movimientos:
Select sum(mov51 - mov4 ) from
(select A.CAMPOSTRU3, Sum(B.CANT * B.COSTO) as mov51,
(Select C.CAMPOSTRU3,Sum(D.CANT * D.COSTO) From INVE01 C, MINV01 D Where C.CLV_ART = D.CLV_ART and D.TIPO_MOV = 4 And C.CAMPOSTRU3 IS NOT NULL and D.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE ('06/30/2008 23:59') Group By C.CAMPOSTRU3 )as mov4
from INVE01 A, MINV01 B where A.CLV_ART = B.CLV_ART And A.CAMPOSTRU3 IS NOT NULL And
B.TIPO_MOV = 51 and B.FECHA_DOCU Between CDATE('06/01/2008 00:00') And CDATE ('06/30/2008 23:59') Group By A.CAMPOSTRU3)
where (mov51 - mov4 ) <> 0
Espero y me puedan ayudar en mi problema o si me aconsejan resolverlo fuera de sql y manejar los Querys independientes y asi obtener las operaciones
Saludos