[firebase-br] SQL - select em tabela com 3 chaves estrangeiras, com mesma referência

Pedro Braga bragaped em gmail.com
Sex Set 24 09:10:51 -03 2010


Tenho uma duvida quanto ao select os medicos tbm são funcionarios??
tenta o seguinte select.

select T2_cod,T2_fun,T2_med,T2_coord,T1_nome
 from T2
left join T1 on T1_cod=T2_fun
left join T1 on T1_cod=T2_med
left join T1 on T1_cod=T2_coord
where T2_cod=<PARÂMETRO>


Em 24 de setembro de 2010 08:58, Roberto Teruo Kobayashi <
robertotk em gmail.com> escreveu:

> Senhores, preciso de uma ajuda. Estou usando o Firebird 2.1 para produzir
> um
> programa para a empresa onde trabalho e estou quebrando a cabeça com um
> Select. Descrevo a situação a seguir:
>
> Tenho duas tabelas:
>
> T1 -> Tabela contendo a listagem de funcionários
> T2 -> Tabela com informações sobre exames admissionais
>
> T1
> T1_cod - código do registro
> T1_nome - nome do funcionário
>
> T2
> T2_cod - código do registro
> *T2_fun - funcionário examinado
> *T2_med - médico examinador
> *T2_coord - médico coordenador
>
> Os campos com * são Chaves Estrangeiras, que tem como referência o campo
> T1_cod, da tabela de funcionários.
>
> O problema acontece quando tento usar o seguinte Select:
>
> select * from T2
> left outer join T1 on T2_fun=T1_cod
> left outer join T1 on T2_med=T1_cod
> left outer join T1 on T2_coord=T1_cod
> where T2_cod=<PARÂMETRO>
>
> Quando executo o select, o Firbird retorna a seguinte mensagem:
>
> SQL Message : -204
> Undefined name
>
> Engine Code : 335544569
> Engine Message :
> Dynamic SQL Error
> SQL error code = -204
> Ambiguous field name between table T1 and table T1
> T1_cod
>
> O que estou fazendo de errado?
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista