select n.id, n.text, n.date, (case when nr.notification_id is null then 'no' else 'yes' end) as 'read'
from notification as n
left join notification_read as nr
on n.id=nr.notification_id
--where type in ('global', 78822) --не понял, что это
--group by n.id; --Это как бы не надо
В базе данных:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb...
SELECT m.`id`, m.`message`, case when mr.`message_id` is not null then 'Прочитано' else 'Не прочитано' end as iRead
FROM `messages` m
LEFT JOIN `messages_read` mr ON mr.`message_id` = m.`id`
WHERE m.`chat_id` = 12 and AND mr.`user_id` = 111