[firebase-br] Select com Union
Magnun Oliveira
magnun_magnun em hotmail.com
Ter Mar 20 15:42:16 -03 2007
Olá, tenho um formulario em q gero alguns totais, coloquei um query pra cada
tabela.
O problema é q sao sete tabelas e 2 tipos de intervalo entao ficaram 14
query's no msm form.
Para evitar trocar o sql de cada query e depois executar isso 14 vezes,
resolvi unir os sqls:
gostaria q ficasse assim:
TABELA-----TOTAL
TAB1-------150
TAB2-------NULL
TAB3-------123
TAB4-------NULL
TAB5-------1
TAB6-------258
TAB7-------256
mas as tabelas em q tem os totais forem = null nao aparecem na selecao.
Alguem sabe como corrigir isso? vlw
segue o sql q fiz:
SELECT cast ('TAB1' as char(4)) as TABELA, SUM(VALOR + JUROS) as TOTAL FROM
TAB1
where
DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL AND
:DATA_FINAL
union
SELECT cast ('TAB2' as char(4)) as TABELA, SUM(VALOR + JUROS) as TOTAL FROM
TAB2
where DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL
AND :DATA_FINAL
union
SELECT cast ('TAB3' as char(4)) as TABELA, SUM(VALOR) as TOTAL FROM TAB3
where COD_TIP IN (1,2,3,4)
and DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL AND
:DATA_FINAL
union
SELECT cast ('TAB4' as char(4)) as TABELA, SUM(VALOR) as TOTAL FROM TAB3
where COD_TIP IN (5,6,7)
and DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL AND
:DATA_FINAL
union
SELECT cast ('TAB5' as char(4)) as TABELA, SUM(VALOR) as TOTAL FROM TAB4
union
SELECT cast ('TAB6' as char(4)) as TABELA, SUM(VALOR) as TOTAL FROM TAB5
where COD_TIP IN (5,6,7)
and DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL AND
:DATA_FINAL
union
SELECT cast ('TAB7' as char(4)) as TABELA, SUM(VALOR + JUROS) as TOTAL FROM
TAB6
where DATA_PAGAMENTO is not null
AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL AND :DATA_FINAL
_________________________________________________________________
MSN Messenger: converse com os seus amigos online.
http://messenger.msn.com.br
Mais detalhes sobre a lista de discussão lista