मुझे 100% यकीन नहीं है कि वाक्य रचना सही है और मेरे पास अभी इसका परीक्षण करने का कोई मौका नहीं है, लेकिन विचार स्पष्ट होना चाहिए।
SELECT DISTINCT n.id
FROM notifications n
JOIN (
(SELECT b.id, 'book' AS type FROM books b WHERE b.is_visible = 1)
UNION
(SELECT i.id, 'interview' AS type FROM interviews i WHERE i.is_visible = 1)
) ids ON n.parent_id = ids.id AND n.parent_type = ids.type
WHERE n.user_id = 1