Subselect na mesma tabela
Olá e desde já obrigado...
Estou com a seguinte situação:
Tenho duas tabelas uma de viajens e uma de pessoas...
na tabela de viajens tenho dois campos... cd_motorista e cd_paciente Estes dois são uma pessoa da tabela de pessoas nessa tabela tem o cd_tipo onde a pessoa que é motorista tem o cd_tipo = M e o paciente = P
Pra cada viajem só existe um paciente e um motorista(é uma ambulância)
Eu estava querendo fazer um subselect na mesma tabela de pessoas... o problema é que eu não conheço a sintaxe... (nem sei ao certo se isso é a melhor solução, mas vou tentar)
Se alguém souber como é a sintaxe do subselect no interbase ou se houver uma forma melhor de resolver esse meu problema eu agradeceria...
Estou utilizando o interbase 6
um abraço a todos e fico na espera
Estou com a seguinte situação:
Tenho duas tabelas uma de viajens e uma de pessoas...
na tabela de viajens tenho dois campos... cd_motorista e cd_paciente Estes dois são uma pessoa da tabela de pessoas nessa tabela tem o cd_tipo onde a pessoa que é motorista tem o cd_tipo = M e o paciente = P
Pra cada viajem só existe um paciente e um motorista(é uma ambulância)
Eu estava querendo fazer um subselect na mesma tabela de pessoas... o problema é que eu não conheço a sintaxe... (nem sei ao certo se isso é a melhor solução, mas vou tentar)
Se alguém souber como é a sintaxe do subselect no interbase ou se houver uma forma melhor de resolver esse meu problema eu agradeceria...
Estou utilizando o interbase 6
um abraço a todos e fico na espera
Btovix
Curtidas 0
Respostas
Emerson Nascimento
02/03/2005
não sei se entendi bem, mas acho que é isso:
select v.cd_motorista, m.nome nomemotorista, v.cd_paciente, p.nome nomepaciente from viagens left join pessoas m on (m.cd_pessoa=v.cd_motorista and m.cd_tipo=´M´) left join pessoas p on (p.cd_pessoa=v.cd_paciente and p.cd_tipo=´P´) where ....
GOSTEI 0
Btovix
02/03/2005
Pois é... a lógica é mais ou menos essa... valeu a força mas eu já tinha conseguido chegar nessa solução... obrigado mesmo... quanto a duplicidade foi realmente um ato desesperado uma vez que ninguém respondeu a pergunta anterior tentei reformulá-la pra tentar obter uma resposta... e pelo visto deu certo... :D
GOSTEI 0