Problemas com select

Firebird

26/10/2005

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

Curtidas 0

Respostas

Tommahawk

Tommahawk

26/10/2005

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;



GOSTEI 0
Bruno Belchior

Bruno Belchior

26/10/2005

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



GOSTEI 0
Emerson Nascimento

Emerson Nascimento

26/10/2005

[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


GOSTEI 0
Bruno Belchior

Bruno Belchior

26/10/2005

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


GOSTEI 0
POSTAR