Приветствую! До этого момента кроме кроме запросов из "бэкенда" не использовал SQL, но сейчас решил взяться за вопрос и сразу залип на хранимых процедурах и функциях.
Собственно, есть таблица на 100к записей, я хочу получить все уникальные wm_id, пишу следующий код
CREATE PROCEDURE get_wm_ids(OUT wm_ids JSON)
SET wm_ids = (SELECT wm_id AS json
FROM visitors
WHERE wm_id REGEXP '^[[:digit:]]+$'
OR wm_id = ""
GROUP BY wm_id);
Вызываю, где-то
CALL get_wm_ids(@wm_ids);
И получаю
CALL get_wm_ids(@wm_ids) Error Code: 1242. Subquery returns more than 1 row
что как бы намекает, подзапрос вернул многовато строк, а именно, больше одной)
Если делать так
CREATE PROCEDURE get_wm_ids()
SELECT wm_id AS json
FROM visitors
WHERE wm_id REGEXP '^[[:digit:]]+$'
OR wm_id = ""
GROUP BY wm_id;
CALL get_wm_ids();
то все конечно же работает, только я не могу понять, как мне теперь использовать эти данные, например вызвать процедуру в другой процедуре, триггере, или в эвенте и пройтись циклом по результату процедуры , или может в таблицу куда зинсертить?
p.s. Строго плиз не судите, изучаю это дело только один день.