私はそれをすべて1つのクエリで実行しようとはしません。エンティティのタイプ(ウォールポスト、コメントなど)ごとに1つずつ、いくつかの小さな単純なクエリを作成してから、結果をPHPコードでアセンブルして、クライアントに送信したいと思います。
物事を過度に複雑にしないでください。すでに多くの複雑さがあります。 :-)
クエリの例:
SELECT p.*, n.*
FROM notifications n
INNER JOIN wall_posts p ON p.id = n.item_id
WHERE n.type_id = 'wall_post' AND n.is_seen = 0;
ORDER BY time_stamp DESC
LIMIT 10;
SELECT c.*, n.*
FROM notifications n
INNER JOIN wall_comments c ON c.id = n.item_id
WHERE n.type_id = 'wall_post' AND n.is_seen = 0;
ORDER BY time_stamp DESC
LIMIT 10;