У меня есть 2 таблицы "активность" и "активность_комментарий", соединенные вместе столбцом "активность_ид". Я хочу посчитать столбец "flag" по каждому значению в нем.
Например, сколько "flag" = "challenge" и сколько "flag"= "риск" в таблице "Activity_comment".
Мой текущий запрос:
$select = $db->select()->from(array('main_table' => $prefixTable . '_activity'))
->joinLeft(array('comment_table' => $prefixTable . '_activity_comment'), 'main_table.activity_id = comment_table.activity_id', array('comment_flag' => '(CASE WHEN (SELECT COUNT(comment_table.flag) FROM ' . $prefixTable . '_activity_comment as comment_table WHERE comment_table.flag = "challenge") <> 0 THEN COUNT(comment_table.flag) ELSE 0 END)'));
Но выдает ошибку:
Столбец не найден: 1054 Неизвестный столбец '(CASE WHEN (ВЫБЕРИТЕ COUNT (comment_table.flag) FROM 17_activity_comment' в 'списке полей'
Звучит так, как будто я не могу использовать другой запрос внутри выбора).
Пожалуйста, помогите, спасибо.