Ir para conteúdo

POWERED BY:

Arquivado

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

diasgabrie

Feed noticias de seguidores por ultimas atualizações

Recommended Posts

Bom dia pessoal.

 

tenho duas tabelas:

- seguidores (id, user, segue)
1 x y (x segue y)
2 x d (x segue d)
3 x b (x segue b )
4 b x (b segue x)
5 x c (x segue c)
6 d e (d segue e)

...

- posts (id, user, post)
1 y foto.jpg (y postou foto.jpg)
2 y foto2.jpg (y postou foto2.jpg)
3 x foto3.jpg (x postou foto3.jpg)
4 b foto4.jpg (b postou foto4.jpg)
5 w foto5.jpg (w postou foto5.jpg)

Quero pegar quem X segue, por exemplo, e selecionar os posts deles por id desc.

No exemplo acima, no feed de X apareceria:

b foto4.jpg (foto de b, vez que X segue B - pulou o post de W pois X não segue W)

y foto2.jpg

y foto.jpg

 

 

 

A unica forma que consegui foi fazendo dois selects, primeiro pegando todos os seguidores de x e jogando em uma variavel e depois dando o select em post com esses seguidores. acontece que se tiver muitos seguidores o sistema fica muito lento.

 

 

Teria forma de fazer com um só select? como poderia ser feito?

muito obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

select *
from posts
where user in (select segue
               from seguidores
               where user ='x')

Creio ser isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O natural é trabalhar com datas (DATE / DATETIME / TIMESTAMP).

SELECT s.id, s.user, s.segue, p.post
FROM seguidores s
INNER JOIN posts p ON p.user = s.segue
WHERE s.user = 'x'
ORDER BY p.id DESC # a ordem seria por data, mas por enquanto pode ser por id DESC

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.