моя функция выглядит следующим образом:функция MySQL всегда возвращает нуль, даже если не нуль не отвечает
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `get_year_groups_for_visit`(id int) RETURNS varchar(200) CHARSET latin1
BEGIN
declare year_text varchar(200);
select group_concat(year_text, ' ') into year_text from a_visit_year_group yg
join year_group y on yg.year_group_id = y.year_group_id
where yg.visitid = id;
RETURN year_text;
END
, если я называю это с помощью
select get_year_groups_for_visit(1918)
я получаю ответ нулевой, но если я печатаю в
select group_concat(year_text, ' ') as 'Year Groups' from a_visit_year_group yg
join year_group y on yg.year_group_id = y.year_group_id
where yg.visitid = 1918;
Получать ответ «Год 13, год 12»
если я смотрю в таблицу a_visit_year_group где visitid является 1918 я
> visitid year_group_id
1918 14
1918 15
и в таблице year_group я получаю
> year_group_id year_text
14 Year 12
15 Year 13
На самом деле это не представляется возможным, чтобы иметь запись в a_visit_year_group с микросхемой null значение для year_group_id или visitid, и невозможно получить запись в таблице year_group_id с нулевым значением для year_group_id или year_text, поэтому я не могу понять, почему я возвращаю только нулевые значения с помощью этой функции. Я протестировал его там, где есть только одно значение, чтобы вернуться и где есть несколько значений, и оно всегда возвращается как null. Я знаю, если вы укажете значения, а одно значение равно null, ответ всегда будет нулевым, но здесь нет нулевых ответов.
Я начинаю вытаскивать свои волосы сейчас, так как я не вижу, где я ошибаюсь, и должен быть чем-то действительно простым. Мне не хватает. Я бы очень признателен за понимание. Мне нужно получить список посещений и летних групп, участвующих в каждом посещении, и иногда для каждого визита есть несколько летних групп, а иногда их всего 1, я не хочу иметь несколько строк для каждого посещения, поэтому я думал, что смогу создать чтобы вернуть все значения как один
фантастическим, конечно, я бы понял, что. Вы знаете, когда не видите дерево для деревьев. Я знал, что это будет что-то простое, я просто не мог этого увидеть :) :) –