Представьте таблицу с двумя столбцами (есть больше, но не имеет значения, так или иначе к этому вопросу):Проблема с HAVING в SQL запросе
`EAN` bigint(20) unsigned DEFAULT NULL,
`parameter_id` mediumint(8) unsigned DEFAULT NULL,
Этот запрос не работает, и возвращает сообщение об ошибке:
SELECT EAN FROM eTovar WHERE EAN GROUP BY EAN HAVING parameter_id IS NULL
Error in query (1054): Unknown column 'parameter_id' in 'having clause'
Но этот запрос работает:
SELECT EAN FROM eTovar WHERE EAN GROUP BY EAN HAVING MIN(parameter_id) != MAX(parameter_id)
Я предполагаю, что по какой-то причине HAVING может достигнуть MIN (parameter_id), но не может достичь чистого параметра_ид. Почему?
У меня есть MariaDB 5.5 (должно быть таким же, как MySQL 5.5).
Это может быть немного более полезным, если бы вы предоставить ваш SQL схему. (возможно, что-то подумать о будущем) –
Я не думал, что это необходимо, так как это всего две колонки, но вы здесь. – Martin