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

Alysson Gonçalves de Azevedo agalysson em gmail.com
Sex Set 24 09:21:35 -03 2010


só corrigindo um pequeno detalhe:
select * from T2
left outer join T1 TFun on T2_fun=TFun_cod
left outer join T1 TMed on T2_med=TMed_cod
left outer join T1 TCoord on T2_coord=TCoord_cod
where T2_cod=<PARÂMETRO>



Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)

"Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
gritando: -Perdi tudo!!!"




Em 24 de setembro de 2010 09:20, Alysson Gonçalves de Azevedo <
agalysson em gmail.com> escreveu:

> 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>
>
> o que eu vi de estranho que talvez cause o erro "Ambiguous field name
> between table T1 and table T1" são 3 joins da mesma tabela com o mesmo
> nome...
>
> nesse caso, tente
> select * from T2
> left outer join T1 TFun on T2_fun=T1_cod
> left outer join T1 TMed on T2_med=T1_cod
> left outer join T1 TCoord on T2_coord=T1_cod
> where T2_cod=<PARÂMETRO>
>
> dae, vc passa a TFun, TMed e TCood nos campos do seu select
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
> (\(''^_^ )/)
>
> "Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
> gritando: -Perdi tudo!!!"
>
>
>
>
> Em 24 de setembro de 2010 09:13, Felix <felix.sol em terra.com.br> escreveu:
>
> Nem sei se vou digitar besteira, mas tenta:
>>
>> select * from T2
>> left outer join T1 on ((T2_fun=T1_cod) or (T2_med=T1_cod) or
>> (T2_coord=T1_cod))
>> where T2_cod=<PARÂMETRO>
>>
>> Fco. Felix
>> Desenvolvimento de Sistemas
>> www.soltecnologia.com.br
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
>> Em
>> nome de Roberto Teruo Kobayashi
>> Enviada em: sexta-feira, 24 de setembro de 2010 08:58
>> Para: lista em firebase.com.br
>> Assunto: [firebase-br] SQL - select em tabela com 3 chaves estrangeiras,
>> com
>> mesma referência
>>
>> 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
>>
>>
>> ______________________________________________
>> 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