Select com UNION ALL
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
Curtidas 0
Respostas
Beppe
30/09/2005
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
GOSTEI 0