Erro no select Join Firebird !!

Firebird

05/02/2004

Caros Colegas

Como devo fazer um select join no Firebird, tenho quatro tabelas diferentes e preciso buscar dados em todas elas..

ex:
select TP01001.C_COD_LOCAL, TP01001.C_DESC_LOCAL, TP01001.C_COD_PAIS, TP01001.C_COD_ESTADO, TP01001.C_COD_CIDADE, TP01001.C_COD_BAIRRO, TP02001.C_DESC_PAIS, TP03001.C_DESC_ESTADO, TP04001.C_DESC_CIDADE, TP05001.C_DESC_BAIRRO from TP01001, TP02001, TP03001, TP04001, TP05001 where TP01001.C_COD_PAIS = TP02001.C_COD_PAIS and TP01001.C_COD_ESTADO = TP03001.C_COD_ESTADO and TP01001.C_COD_CIDADE = TP04001.C_COD_CIDADE and TP01001.C_COD_BAIRRO = TP05001.C_COD_BAIRRO

o select não retorna nenhum valor, mas existe o registro selecionado acima. O que me parece é que não consigo fazer um Join em mais de duas tabelas, pq fiz o teste e foi isso que me pareceu. Se alguém puder me dar uma luz...

Agradeço antecipadamente

Cabelo


Cabelo

Cabelo

Curtidas 0

Respostas

Elbio

Elbio

05/02/2004

Tente o seguinte:

select TP01001.C_COD_LOCAL, TP01001.C_DESC_LOCAL, TP01001.C_COD_PAIS, TP01001.C_COD_ESTADO, TP01001.C_COD_CIDADE, TP01001.C_COD_BAIRRO, TP02001.C_DESC_PAIS, TP03001.C_DESC_ESTADO, TP04001.C_DESC_CIDADE, TP05001.C_DESC_BAIRRO
from
TP01001 inner join TP02001 on (TP01001.C_COD_PAIS = TP02001.C_COD_PAIS)
inner join TP03001 on (TP01001.C_COD_ESTADO = TP03001.C_COD_ESTADO)
inner join TP04001 on (TP01001.C_COD_CIDADE = TP04001.C_COD_CIDADE)
inner join TP05001 on (TP01001.C_COD_BAIRRO =
TP05001.C_COD_BAIRRO)


Espero ter ajudado.

Elbio.


GOSTEI 0
Cabelo

Cabelo

05/02/2004

Caro Elbio

Valeu pela dica, mas o meu select estava correto, e o seu tb, o problema é que de alguma maneira eu perdi os dados das tabelas, por isso não trazia nenhum resultado.

No editor SQL do Delphi, mostravam os dados na tela, mas quando abri o Manager do firebird cadê os dados? Tinham sumido, ainda não sei pq isto ocorreu mas estou verificando, mesmo assim valeu pela dica..

Té +

Cabelo


GOSTEI 0
POSTAR