【发布时间】:2016-04-13 21:00:25
【问题描述】:
我有 3 个表 = 'Test','Test_quo','Subject'
表格测试
idtest | Test
1 | Test wave 1
2 | Test Wave 2
Table Test_quo
idtest | idsubject
1 | 1
1 | 2
1 | 3
2 | 1
表格主题
idsubject| subject
1 | Math
2 | Bio
3 | Sport
4 | Literature
我需要的是选择外部(在某些测试中未选择的主题), 例如,在 idtest=1 上,结果将是文献
idsubject | subject
4 | Literature
不知何故,我已经尝试过使用left,outer并没有达到预期的结果(选择/选择)主题。
SELECT subject.idsubject, subject FROM subject right OUTER JOIN test_quo ON (subject.idsubject = test_quo.idsubject) where test_quo.idtest=1'
我的查询将得到结果
idsubject | subject
1 | Math
2 | Bio
3 | Sport
【问题讨论】:
-
您的问题不清楚您想要做什么的逻辑。为什么要
idsubejct = 4? -
我想选择在某些测试中从未参加过的主题的哪个选项。例如测试已经有数学、生物、运动。给出的选项只有文学(也防止主键检查),因为当两个 pk 相遇时会出错,不是吗?由于关联表。
标签: mysql left-join where outer-join