Tenho 3 tabelas no banco de dados (usuario, comentarios e amigos). Quero que o usuário X veja todas as novas mensagens dos comentários dos amigos.
Estou usando algo como:
Tabela usuários
---------------------------------- | id_usuario | nome_usuario | ---------------------------------- | 1 | joao | | 2 | maria | | 3 | jose | ----------------------------------
Tabela mensagem
-----------------------------------------------------| | id_mensagem | id_usuarios | mensagem | -----------------------------------------------------| |1 | 1 | produto show | |2 | 2 | eca produto | |3 | 3 | gostei | |4 | 1 | é show mesmo | -----------------------------------------------------|
Tabela amigos
---------------------------------------------| | id_amigos | id_usuarioa | id_amigo | ---------------------------------------------| | 1 | 1 | 2 | ---------------------------------------------|
Ou seja, quero que o João veja as mensagens da Maria ( já que são amigos ) e as dele próprias, o José não é amigo de ninguém então vê as próprias mensagens. E a Maria não é amiga do João, apesar dele achar que são amigos
A dúvida é o seguinte. Consegui fazer com que "João" visse as próprias mensagens, mas não as mensagens de Maria.
Usei a seguinte query:
SELECT t1.id_usuario, t1.nome_usuario, t2.id_mensagem, t2.id_usuarios, t2.mensagem FROM usuarios AS t1 INNER JOIN mensagem AS t2 ON t2.id_usuarios = t1.id_usuario WHERE t1.nome_usuario='joao'
Quando rodo esse query, funciona legal, mostra todas as mensagens de "João", mas não consigo fazer para mostrar as mensagens dos amigos do "João", como as mensagens de "Maria", por exemplo.
Esse query realmente está me matando...
Não sei nem se consegui explicar direito.
Obrigado.