Você pode fazer isso modificando sua consulta para:
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
Ele seleciona as próprias postagens do usuário também. Espero que isso ajude.
Atualizado:Adicionado
GROUP BY POSTS.POSTID
para que as duplicatas sejam removidas, pois você só procura dados em POSTS
tabela. Quando você executa a consulta como passar valores - por exemplo. para o usuário com id 1, a consulta se parece com:
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
Os resultados são:
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
Isso é o que você obtém quando passa valores para a consulta de seleção corretamente. Os valores passados para
SUBSCRIBERID
e AUTHORID
deveria ser o mesmo. O LEFT JOIN resolveria seu problema.