Subselect na mesma tabela

Delphi

02/03/2005

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


Btovix

Btovix

Curtidas 0

Respostas

Emerson Nascimento

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

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
POSTAR