[firebase-br] Unir 3 tabelas

Samuel Duarte Matos samuelmatos em cprinformatica.com.br
Qua Jun 20 09:16:30 -03 2007


O union com as 3 tabelas tem que funcionar.

Que erro que dá? Qual a estrutura das tabelas? Para que possamos ajudar, 
precisamos do máximo de informações.

Mas olhando seu problema, eu diria para dar uma olhada nos tipos dos campos 
das 3 tabelas. No union, todos os campos devem ser do mesmo tipo e tamanho 
(no caso de varchar).

O problema pode ser com um campo data, tb. Numa tabela temos um campo Date, 
na outra Timestamp. Tb dá erro.

T+


"Dominio Informatica" <dominio em engeplus.com.br> 
escreveu na mensagem news:000601c7b326$e17f8b70$05fea8c0 em rodrigo...
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


______________________________________________
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