进一步回答以下问题 MySQL: Set user variable from result of query
我需要将逗号分隔值数组存储到查询返回的变量中。 例如
SET @qids := (select distinct GROUP_CONCAT(question.id, '')
from questions
where chapter_id in(100,101,102);
select *
from answers
where question_id in (@qids);
这样可行,但问题是@qids
变量只有一个question_id
值,而不是question_id
60,61,62
个{{1}}
请帮忙
答案 0 :(得分:1)
不需要该变量,您可以通过JOIN
直接questions
和answers
这两个表来完成此操作:
SELECT *
from questions AS Q
INNER JOIN answers AS a ON q.question_id = a.question_id
where q.chapter_id in(100, 101, 102);
答案 1 :(得分:1)
最后让它以下面的方式工作
选择* 从答案 其中find_in_set(question_id,@ qids);