ここに私のスキーマがあります:
表「クエスト」; +----------+------+------+-----+---------+ ----------------+ | | フィールド | フィールド タイプ | ヌル | キー | キー | デフォルト | エクストラ | +----------+------+------+-----+---------+ ----------------+ | | ID | int(11) | いいえ | PRI | ヌル | auto_increment | | | id_quest | int(11) | いいえ | | | ヌル | | | | | 質問 | varchar(255) | いいえ | | | ヌル | | | | | ニベル | int(11) | いいえ | | | ヌル | | | | | ティポ | varchar(255) | いいえ | | | ヌル | | | +----------+------+------+-----+---------+ ----------------+ 表「レスポスタ」; +----------+-------+------+-----+--------- +----------------+ | | フィールド | フィールド タイプ | ヌル | キー | キー | デフォルト | エクストラ | +----------+-------+------+-----+--------- +----------------+ | | ID | int(11) | いいえ | PRI | ヌル | auto_increment | | | id_quest | int(11) | いいえ | | | ヌル | | | | | レスポスタ | varchar(255) | いいえ | | | ヌル | | | | | r_valido | 列挙型('0','1') | いいえ | | | ヌル | | | +----------+-------+------+-----+--------- +----------------+
私のクエリは次のとおりです。
SELECT q.questao, r.resposta
FROM questoes q, respostas r
WHERE q.id_quest IN (19,20,21)
AND q.id_quest=r.id_quest
AND r.r_valido = ( SELECT resposta FROM respostas WHERE r_valido= 1 )
私が必要とするのは、questao
テーブルQuestoes
からのフィールドresposta
とテーブルからのrespostas
フィールドr_valido = 1
です。フィールドresposta
には 4 つの結果があり、1 つだけが有効ですr_valido = 1
。