Fórum Select com UNION ALL #297820
30/09/2005
0
Olá amigos, preciso unir duas tabelas assim
Select conta,
Sum(Case When campo1=200501 then campo_Debito Else 0 End) As JAN
Sum(Case When campo1=200502 then campo_Debito Else 0 End) As FEV
Sum(Case When campo1=200503 then campo_Debito Else 0 End) As MAR
From TAB_01
UNION ALL
Select conta,
Sum(Case When campo1=200501 then campo_Debito Else 0 End) As JAN
Sum(Case When campo1=200502 then campo_Debito Else 0 End) As FEV
Sum(Case When campo1=200503 then campo_Debito Else 0 End) As MAR
From TAB_02
Essa é a chamada mas me traz duas vezes a mesma conta.
O q preciso, é em apenas uma chamada me sumarizar usando uma Query;
Com uma VIEW fica lento pois as tabelas tem 5.000.000.
Um SUB SELECT nem pensar pois ai q n anda
Com SPs eu faço tranquilamente mas a manutenção nos .GDB(187 clientes) é terrivel. Se eu conseguir chamar assim altero apenas o .EXE e eliminos muitas SPs dos .GDBs
Obrigado
Select conta,
Sum(Case When campo1=200501 then campo_Debito Else 0 End) As JAN
Sum(Case When campo1=200502 then campo_Debito Else 0 End) As FEV
Sum(Case When campo1=200503 then campo_Debito Else 0 End) As MAR
From TAB_01
UNION ALL
Select conta,
Sum(Case When campo1=200501 then campo_Debito Else 0 End) As JAN
Sum(Case When campo1=200502 then campo_Debito Else 0 End) As FEV
Sum(Case When campo1=200503 then campo_Debito Else 0 End) As MAR
From TAB_02
Essa é a chamada mas me traz duas vezes a mesma conta.
O q preciso, é em apenas uma chamada me sumarizar usando uma Query;
Com uma VIEW fica lento pois as tabelas tem 5.000.000.
Um SUB SELECT nem pensar pois ai q n anda
Com SPs eu faço tranquilamente mas a manutenção nos .GDB(187 clientes) é terrivel. Se eu conseguir chamar assim altero apenas o .EXE e eliminos muitas SPs dos .GDBs
Obrigado
Orpolonio
Curtir tópico
+ 0
Responder
Posts
01/10/2005
Beppe
Olá. . .
Tvz algo assim:
Tvz algo assim:
Select conta, Sum(Case When t1.campo1=200501 then t1.campo_Debito Else 0 End) + Sum(Case When t2.campo1=200501 then t2.campo_Debito Else 0 End) As JAN Sum(Case When t1.campo1=200502 then t1.campo_Debito Else 0 End) + Sum(Case When t2.campo1=200502 then t2.campo_Debito Else 0 End) As FEV Sum(Case When t1.campo1=200503 then t1.campo_Debito Else 0 End) + Sum(Case When t2.campo1=200503 then t2.campo_Debito Else 0 End) As MAR From TAB_01 t1 natural join TAB_02 t2
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)