У меня возникает следующая проблема, когда я пытаюсь столбец group_concat, мой запрос перестает работать и говорит Unknown column 'dbname.tablename.columnname' in 'where clause'
. Я постараюсь обобщить как рабочий запрос, так и нерабочий в меру своих возможностей:
Рабочий запрос:
SELECT
table1.items,
table2.opt1,
table3.opt2
FROM table1
LEFT JOIN table2 ON table1.id = table2.table1_id
...
LEFT JOIN table3 ON table2.id = table3.table2_id
WHERE
...
GROUP BY table1.items
HAVING
(SELECT COUNT(*) FROM table3 WHERE table3.table2_id = table2.id AND (table3.opt2 = 1)) = (1)
нерабочий запрос:
SELECT
table1.items,
table2.opt1,
GROUP_CONCAT(table3.opt2 SEPERATOR ', ') as concat_opt2
FROM table1
LEFT JOIN table2 ON table1.id = table2.table1_id
...
LEFT JOIN table3 ON table2.id = table3.table2_id
WHERE
...
GROUP BY table1.items
HAVING
(SELECT COUNT(*) FROM table3 WHERE table3.table2_id = table2.id AND (table3.opt2 = 1)) = (1)
Рабочий запрос возвращает результаты, как и ожидалось. Теперь я хочу их group_concat:} table3.opt2, поэтому, когда я добавляю group_concat, я получаю ошибку unknown column 'dbname.table2.id'
Я подозреваю, что я получаю эту ошибку, имея предложение ...
Редактировать1: Добавлено GROUP BY table1.items
После WHERE до HAVING (все равно получаю ту же ошибку).