Consulta usando join (interbase)

21/02/2003

0

Estou tentando fazer uma consulta que pega resultados de 3 tabelas diferentes, mas não sei qual é a melhor maneira de se fazer isso.

No momento estou mudando a propriedade CommandText do SQLDataSet de uma das tabelas (a que contém as foreign keys das outras duas) para o comando SQL apropriado, mas quando o comando deveria ser executado eu recebo a mensagem de que um dos campos dessa tabela não existe.

Já chequei as ligações dos componentes entre si e com o banco de dados, na verdade esse erro só ocorre quando eu tento o join, se a consulta fosse somente da tabela onde mudei o Command Text, a consulta funcionaria.

O que será que estou fazendo de errado ? Alguém tem alguma idéia ?

Desde já agradeço.


Anonymous

Anonymous

Responder

Posts

21/02/2003

Espiridiao

Experimenta usar este software para fazer os querys graficamente como no ¬&$¬#¬& access &´¬
[url]www.ibexpert.com[/url]

cumps,
jorge


Responder

21/02/2003

Anonymous

talvez o nome do campo seja igual nas duas tabelas...

nesse caso vc tera que colocar assim:

select
tabela1.campo1
tabela2.campo2
tabela3.campo3
from (
tabela1
join
tabela2
on tabela1.campo1 = tabela2.campo1 )
join
tabela3
on tabela2.campo2 = tabela3.campo2


espero ter ajudado...


Responder

21/02/2003

Anonymous

Então, o problema não é no sql, eu já testei o comando no IBConsole e ele funciona corretamente, mas quando eu passo ele pro componente é que dá problema.


Responder

21/02/2003

Anonymous

Acho que sei onde está o problema, ocorre que a DBGrid não tem os campos das outras tabelas ...

Eu tô ligando ela no DataSource da tabela principal, e portanto ela só pega os campos dessa tabela. Como eu faço pra ela pegar os campos das outras duas ?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar