Fórum Problemas com select #53612

26/10/2005

0

Pessoal, estou com um probleminha no firebird e já testei no mysql e no sql server e funcionou.

tenho a seguinte estrutura:

Tabela de Participente com os campos
cod int pk
nome varchar(30) nn
cod_superior int

tenho os seguintes dados cadastrados:

cod----Nome-----cod_superior
1----José------------------null
2----João------------------null
3----Maria--------------------1
4----Teresa------------------2

gostaria que o select me retornasse o seguinte:
cod----Nome-----nome_superior
1----José------------------null
2----João------------------null
3----Maria----------------José
4----Teresa--------------João


e fiz o seguinte select:
select Participente.cod, Participente.nome, p.nome as nome_superior from Participente
left join Participente p on p.cod=Participente.cod_sup

Mas o resultado do select é:
cod----Nome-----nome_superior
null----null------------------null
null----null------------------null
null----null------------------null
null----null------------------null

alguém pode me ajudar ?


Wesleyavila

Wesleyavila

Responder

Posts

26/10/2005

Tommahawk

dê uma olhada nesta alternativa:
select a.cod,
 a.nome, 
(select b.nome from participente b where a.cod_superior = b.cod) as nome_superior 
from participente a;



Responder

Gostei + 0

26/10/2005

Bruno Belchior

tente isso:
Select PA.Codigo, PA.Nome, PB.Nome from Participente Pa left join Participente PB on PA.Cod_Superior = PB.Cod_Superior



Responder

Gostei + 0

27/10/2005

Emerson Nascimento

[quote:514c49649a=´Bruno Belchior´]tente isso:
Select PA.Codigo, PA.Nome, PB.Nome from Participente Pa left join Participente PB on PA.Cod_Superior = PB.Cod_Superior
[/quote:514c49649a]

uma pequena correção:
on PB.Cod = PA.Cod_Superior


Responder

Gostei + 0

27/10/2005

Bruno Belchior

uma pequena correção: on PB.Cod = PA.Cod_Superior
It is true... :oops:


Responder

Gostei + 0

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

Aceitar