Я получаю всевозможные ошибки с этой хранимой процедурой, от неопределенных имен столбцов до неоднозначных имен полей.Имя столбца хранимой процедуры MySQL Присоединиться к синтаксису
Что я пытаюсь сделать, это выбрать каждый идентификатор абонента, где действие, общий ресурс, тест, вирус и общая сумма находятся на самом высоком значении. Идентификатор абонента может отличаться для каждого наивысшего значения, поэтому вы можете вернуть до 5 идентификаторов абонента. Может быть, моя логика отключена здесь, но ниже мой код (Обратите внимание, что это только для столбца «действия»):
SELECT `set1.subscriber_id`, `set1.action`, `set1.share`, `set1.test`, `set1.viral`, (`set1.action` + `set1.share` + `set1.test` + `set1.viral`) AS "total", `abuse_flag`
FROM `subscribers_points` set1
JOIN
(
SELECT `subscriber_id`, MAX(`action`) AS actionMax
FROM `subscribers_points`
WHERE `year` = _year
AND `month` = _month
GROUP BY `subscriber_id`
) groupedAction
ON set1.subscriber_id=groupedAction.subscriber_id
WHERE `year` = _year
AND `month` = _month;
^Это привело к «Неизвестному колонку„set1.subscriber_id“в„списке поля“
Это выглядит правильно для меня. Я не знаю, что вызывает ошибку.
Спасибо, предыдущий кодер любил использовать чрезмерное количество backticks, я просто пытался воспроизвести этот метод. – wUmpage