[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