1

MySQLで回答された以下の質問に加えて 、クエリの結果からユーザー変数を設定します。

コンマ区切りの値の配列を、クエリから返された変数に格納する必要があります。例えば

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はなく1つの値しか持たないことですquestion_idquestion_id60,61,62

助けてください

4

2 に答える 2

1

その変数は必要ありません。これを行うにはJOIN、2 つのテーブルquestionsanswers直接次のようにします。

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);

SQL フィドルのデモ

于 2013-03-19T11:15:57.070 に答える
1

最後に、以下の方法で動作するようになりました

select * from answer where find_in_set (question_id,@qids);

于 2013-03-27T10:00:13.157 に答える