這裏是我的架構:子查詢不起作用
Table "Questoes"; +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | id_quest | int(11) | NO | | NULL | | | questao | varchar(255) | NO | | NULL | | | nivel | int(11) | NO | | NULL | | | tipo | varchar(255) | NO | | NULL | | +----------+--------------+------+-----+---------+----------------+ Table "Respostas"; +----------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | id_quest | int(11) | NO | | NULL | | | resposta | varchar(255) | NO | | NULL | | | r_valido | enum('0','1') | NO | | NULL | | +----------+---------------+------+-----+---------+----------------+
我的查詢是:
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個結果,並且只有一個是有效的,換句話說,在字段r_valido = 1
。
你能提供一個示例數據集作爲SQL小提琴,並帶有預期的結果? – halfer
那些大桌子?也許你可以將這些表格/列名翻譯成英文,我無法理解西班牙文? –