Puoi farlo modificando la tua query in :
SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = ? OR POSTS.AUTHORID = ?
GROUP BY POSTS.POSTID ORDER BY POSTS.POSTID DESC LIMIT 10
Seleziona anche i post dell'utente. Spero che questo possa aiutare.
Aggiornato:aggiunto GROUP BY POSTS.POSTID
quindi i duplicati vengono rimossi poiché cerchi solo i dati in POSTS
tabella.
Quando esegui query come il passaggio di valori, ad es. per l'utente con ID 1 la query è simile a:
SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = 1 OR POSTS.AUTHORID = 1 GROUP BY POSTS.POSTID
ORDER BY POSTS.POSTID DESC LIMIT 10
I risultati sono:
PostID AuthorID PostDate PostBody
3 1 2012-12-21 Oh Wait
2 3 2012-12-21 Bye Bye World
1 2 2012-12-20 Hello Word
Questo è ciò che ottieni quando passi correttamente i valori alla query di selezione. I valori passati a SUBSCRIBERID
e AUTHORID
dovrebbe essere lo stesso. Il LEFT JOIN risolverebbe il tuo problema.