Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

carcleo

várias chaves estrangeiras apontando para a mesma chave primaria

Mensagens Recomendadas

carcleo

Tenho a seguinte SQL:

 

   SELECT         
       celulas.idCelula, 
       celulas.idPastor,
       membros.nome,
       celulas.idRede,
       redes.nome,
       celulas.idRegiao, 
       regioes.nome,
       celulas.idArea,
       areas.nome,
       celulas.idSetor,
       setores.nome,
       celulas.idAnfitriao, 
       celulas.idLider,  
       celulas.idAuxiliar,
       celulas.diaReunioes,
       celulas.dataMultiplicacao,
       celulas.origem,
       celulas.nome 
    FROM   membros, pastores, redes, regioes, areas, setores, celulas
    WHERE                 
       pastores.idMembro = membros.idMembro AND
       celulas.idPastor  = pastores.idPastor AND 
       celulas.idRede    = redes.idRede AND
       celulas.idRegiao  = regioes.idRegiao AND
       celulas.idArea    = areas.idArea AND
       celulas.idSetor   = setores.idSetor

Agora,   

celulas.idPastor  = pastores.idPastor 

e   

pastores.idMembro = membros.idMembro

Desta forma na parte do select:

    celulas.idPastor,
    membros.nome,

 Na esperança de obter o nome do pastor.

O problema agora é que    

   celulas.idPastor,
   celulas.idAnfitriao, 
   celulas.idLider,  
   celulas.idAuxiliar,

Todos apontam para  

  membros.idMembro

Minha dúvida:

Como obter o nome de cada um deles separadamente se todos apontam para    

membros.idMembro

Obs.: NÃO existe uma tabela de anfitriões nem de Líderes nem de auxiliares pois todos são cadastrados como membros

Editado por carcleo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Tens de fazer tantas referências a membro quantas as entidades diferentes que necessitas, algo to género.:

select pastor.*, cedulas.*
from pastor, cedulas, membro as mp, membro as ma, membro as ml membro as maux
where 
   pastor.pastorid = celulas.idPastor
   and pastor.idMembro = mp.id
   and celulas.idAnfitriao = ma.id
   and celulas.idLider = ml.id
   and celulas.idAuxiliar = maux.id

 


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.