【发布时间】:2014-01-08 10:43:31
【问题描述】:
我有两张桌子
1.fw_respondent_answers
2.fw_question_options
结构是:
fw_respondent_answers
id invitationid qdetailid optionid
1 2 1 1
2 2 2 2
3 2 3 3
4 3 1 4
5 3 2 5
6 3 3 6
fw_question_options:
id optionname qdetailid
1 india 1
2 teacher 2
3 ok 3
4 france 1
5 assistane 2
6 good 3
期望的输出:
invitationid country profession answer
2 india teacher ok
3 france assistant good
说明:我想获取与qdetailid 和optionid 对应的特定invitationid 关联的optionname。
optionid 是fw_question_options(id) 的主键。
我尝试过的:
SELECT distinct fra.`invitationid` ,fo.optionname as country,
fo1.optionname as profession,fo2.optionname as nps
FROM `fw_respondent_answers` fra,fw_question_options fo,
`fw_respondent_answers` fra1,fw_question_options fo1,
`fw_respondent_answers` fra2,fw_question_options fo2
WHERE fra.`optionid`=fo.id and fra.`qdetailid`=2
and fra1.`optionid`=fo1.id and fra1.`qdetailid`=1
and fra2.`optionid`=fo2.id and fra2.`qdetailid`=3
问题:我上面的查询很慢。我只是想知道上面的查询还有其他更好的选择吗?
提前致谢。
【问题讨论】:
-
转换为正确的连接。自从
JOIN被添加到 sql 标准以来已经 20 多年了。来吧...开始使用程序