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

Subquerys

Estas en el tema de Subquerys en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/09/2008, 12:03
 
Fecha de Ingreso: septiembre-2008
Mensajes: 11
Antigüedad: 15 años, 7 meses
Puntos: 0
Subquerys

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
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 12:41.