Tôi sẽ không cố gắng làm tất cả trong một truy vấn. Tôi muốn thực hiện một số truy vấn đơn giản nhỏ, một truy vấn cho mỗi loại thực thể (bài đăng trên tường, nhận xét, v.v.), sau đó tập hợp các kết quả bằng mã PHP và gửi đến máy khách.
Đừng phức tạp hóa mọi thứ, có rất nhiều thứ phức tạp rồi. :-)
Ví dụ về truy vấn:
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;