Jeg ville ikke prøve at gøre det hele i én forespørgsel. Jeg vil hellere lave flere små simple forespørgsler, en for hver type enhed (vægpost, kommentar osv.), og derefter samle resultaterne i PHP-kode og sende dem til klienten.
Overkomplicer ikke tingene, der er allerede masser af kompleksitet. :-)
Eksempler på forespørgsler:
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;