Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите, возможно ли сделать выборку по условию вложенного селекта "unreaded" в запросе?
SELECT
g.*,
COUNT(m.id) AS count_messages,
(SELECT COUNT(*) FROM `la3po_abc_messages` WHERE `group_id` = `g`.`id` AND `idTo` = 895 AND `is_read` = 0) AS unreaded
FROM `la3po_abc_message_group` AS `g`
LEFT JOIN `la3po_abc_messages` AS `m` ON `m`.`group_id` = `g`.`id`
WHERE (`g`.`created_by` = 895 OR `g`.`recipient` = 895) AND `g`.`type` = 'user' AND unreaded = 0
GROUP BY `g`.`id`
ORDER BY `g`.`created` asc LIMIT 20
unreaded = 0 вызывает ошибку неизвестного поля.
Неактивен
Условие unreaded = 0 можно указать в разделе HAVING.
HAVING должен быть в запросе после GROUP BY, поэтому нужно будет или убрать группировку или сделать запрос без группировки, но поместить его в виде подзапроса в поле FROM внешнего запроса с группировкой.
Неактивен