Puedes hacerlo modificando tu consulta a :
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
También selecciona las publicaciones propias del usuario. Espero que esto ayude.
Actualizado:se agregó GROUP BY POSTS.POSTID
por lo tanto, los duplicados se eliminan ya que solo busca datos en POSTS
mesa.
Cuando ejecuta una consulta como pasar valores, por ejemplo. para el usuario que tiene id 1, la consulta se ve así:
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
Los resultados son:
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
Esto es lo que obtiene cuando pasa valores a la consulta de selección correctamente. Los valores pasados a SUBSCRIBERID
y AUTHORID
debería ser igual LEFT JOIN solucionaría su problema.