РЕДАКТИРОВАТЬ :
С одним подзапросом
SELECT *
FROM posts
WHERE userId IN (
SELECT
CASE
WHEN userA = {$_SESSION['userId']} THEN userB
ELSE userA
END as user
FROM friends WHERE userA = {$_SESSION['userId']} OR userB = {$_SESSION['userId']}
);
СТАРЫЙ ОТВЕТ:
Я ищу лучшее решение, но думаю, что оно работает с двумя подзапросами:
SELECT *
FROM posts
WHERE userId IN (SELECT userB FROM friends WHERE userA = {$_SESSION['userId']}) OR userId IN (SELECT userA FROM friends WHERE userB = {$_SESSION['userId']});
Но, пожалуйста, рассмотрите возможность использования PDO для повышения безопасности