[firebase-br] Unir 3 tabelas

Dominio Informatica dominio em engeplus.com.br
Qua Jun 20 07:36:26 -03 2007


Bom dia a todos...

Estou com o seguinte problema... eu preciso pegar informações de 3 tabelas, 
Caixa,Caixa2,Cheque.
Caixa e Caixa2 são exatamente iguais, Cheque contem as mesmas colunas das 
outras tabelas porém tem colunas adicionais.
Se eu fizer um "union" das 3 tabelas retorna erro. Se eu fizer union das 2 
tabelas iguais de depois separadamente chamar a tabela cheque dae funciona, 
mas fica fora de ordem. Ex. Primeiro busca todas as informações das 2 
primeiras tabelas depois busca a da terceira. Os dados não se misturam. Tem 
outra forma de fazer isso sem ser desta forma?

CREATE PROCEDURE RELCAIXA (
  DI DATE,
  DF DATE
)
RETURNS (
  DATA DATE,
  HISTORICO VARCHAR(100),
  DEBITO NUMERIC(8, 2),
  CREDITO NUMERIC(8, 2),
  TIPO VARCHAR(1)
)
AS
BEGIN
FOR
SELECT DATA,HISTORICO,DEBITO,CREDITO,TIPO FROM CAIXA WHERE DATA BETWEEN :DI 
AND :DF AND TIPO!='R' AND TIPO!='A'
UNION
SELECT DATA,HISTORICO,DEBITO,CREDITO,TIPO FROM CAIXA2 WHERE DATA BETWEEN :DI 
AND :DF AND TIPO!='R' AND TIPO!='A'
INTO :DATA,:HISTORICO,:DEBITO,:CREDITO,:TIPO
DO
SUSPEND;

FOR
SELECT DATA,HISTORICO,DEBITO,CREDITO,TIPO FROM CHEQUE WHERE DATA BETWEEN :DI 
AND :DF AND (DESPESA IS NOT NULL OR DESPESA!='')
INTO :DATA,:HISTORICO,:DEBITO,:CREDITO,:TIPO
DO
SUSPEND;

END
;

Atenciosamente,
Rodrigo 





Mais detalhes sobre a lista de discussão lista