Inner Join com campos da mesma tabela

27/08/2008

0

Olá, pessoal. Deve ser simples, mas juro que não to conseguindo.

Preciso saber o nome das pessoas que estão online usando um programa que é um msn genérico.

Tipo : Quais usuários da lista do Paulo estão online agora? É isso que preciso saber.

Essa é a estrutura das tabelas :

Usuario : ´codigo_usuario´ e ´nome_usuario´

Contatos: ´contato_cod_usuario´ e ´contato_cod_amigo´

Online : ´cod_usuario_online´

Só isso.


- Na tabela ´Usuario´ ficam armazenados todos os usuários.

- Na tabela ´Contatos´ ficam armazenados registros indicando ´quem é amigo de quem´. Por exemplo: o usuário Jose tem como amigo o Paulo. Então ficaria algo como : contato_cod_usuario = 1 , contato_cod_amigo=2 (Sendo 1 = Jose e 2= Paulo)

- Tabela ´Online´ ficam armazenados os cod. dos usuários online.

Agradeço a ajuda


_flavio_

_flavio_

Responder

Posts

28/08/2008

Signori

Tenta assim:
select Online.cod_usuario_online, Usuario.nome_usuario
from Online
inner join Usuario on (Online.cod_usuario_online = Usuario.cod_usuario)
inner join Contatos on (Online.cod_usuario_online = Contatos.contato_cod_amigo)
where (Contatos.contato_cod_usuario = CodPaulo)


att


Responder

28/08/2008

_flavio_

Tenta assim:
select Online.cod_usuario_online, Usuario.nome_usuario
from Online
inner join Usuario on (Online.cod_usuario_online = Usuario.cod_usuario)
inner join Contatos on (Online.cod_usuario_online = Contatos.contato_cod_amigo)
where (Contatos.contato_cod_usuario = CodPaulo)
att

Valeu, signori! Seu script me quebrou um galhão! Obrigado mesmo.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar