Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mahhbatera

[Resolvido] inner join 3 tabelas

Recommended Posts

Galera estou com uma dúvida no meu TCC sobre rede social..

 

 

A pagina de mensagem do usuario, tem a opção de você mandar recado privado ( 1) ou publico (0)..

Se o recado for privado, so a pessoa que recebeu poderá ver, e se for publico, todos os amigos da pessoa poderão ver..

 

 

tenho a tabela usuario ( id_usuario, nome, foto.. etc )

 

usuario_amigo (id_amizade, id_usuario_amigo(amigos do usuario), id_usuario, aceito (1 - aceito, 0 - pendente))

 

mensagem (id_mensagem, id_usuario(quem manda a msg), id_usuario_recebe(recebe a msg), privacidade(0 publico, 1- privado))

 

como que eu faço um select nessas 3 tabelas, pra me retornar as mensagens dos usuários que são amigos de determinada pessoa?!

tem que fazer inner join nas 3 tabelas mas eu nao sei fazer isso!, alguem me ajude por favor!

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo,

montei uma querie, veja se é isso que precisa:

 

SELECT

M.MENSAGEM -- TEXTO DA MENSAGEM

FROM

USUARIO_AMIGO uA,

MENSAGEM M

WHERE

M.ID_USUARIO = UA.ID_USUARIO_AMIGO

AND UA.ID_USUARIO = 'XX' -- PESSOA EM QUESTAO

AND (PRIVACIDADE = 0 OR M.ID_USUARIO_RECEBE = 'XX') -- aqui temos 2 possibilidades, a pessoa pode ver todas mensagens dos amigos dele que enviaram mensagem publica OU mensagens privadas desde que sejam destinadas a ele.

 

 

espero que isso se aproxime do que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.