[firebase-br] Select com Union
Eduardo Jedliczka (TeamFB)
jedyfb em gmail.com
Ter Mar 20 16:27:17 -03 2007
Pode-se utilizar sub-selects para realizar esta operação.
por exemplo:
Select
(SELECT SUM(VALOR + JUROS) FROM TAB1
where DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL
AND :DATA_FINAL) as TOTAL_TAB1,
(SELECT SUM(VALOR + JUROS) FROM TAB2
where DATA_PAGAMENTO is not null AND DATA_VENCIMENTO BETWEEN :DATA_INICIAL
AND :DATA_FINAL) as TOTAL_TAB2
>From RDB$Database
Sem mais,
Eduardo Jedliczka
DBA - Bonagura
----- Original Message -----
From: "Magnun Oliveira" <magnun_magnun em hotmail.com>
To: <lista em firebase.com.br>
Sent: Tuesday, March 20, 2007 3:42 PM
Subject: [firebase-br] Select com Union
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista