2012-09-21 35 views
-1

我有两张表,Student_Record的表A和Student_ID的表B,由Student_ID字段链接。

如何选择查询使用两个表的条​​件

Table A (Student_Record) 
Student_ID | Name | School_Year 
1   | Jane | 2010-2011 
2   | Amy | 2010-2011 
3   | Dave | 2011-2012 
4   | Roger | 2010-2011 


Table B (Student_Subject) 
Student_ID | Subject | Grade 
1   | Math | Passed 
1   | Physics | Passed 
1   | History | Passed 
2   | Math | Failed 
2   | Physics | Passed 
2   | History | Passed 
3   | Math | Passed 
3   | Physics | Passed 
3   | History | Passed 
4   | Math | Passed 
4   | Physics | Passed 
4   | History | Passed 


基于样品台以上,我想选择报名参加2010 - 2011年的学生和谁通过所有科目。

结果应该返回罗杰,因为他们通过所有的三个科,并参加了2010 - 2011年相比,艾米它未能对数学和戴夫其school_year是2011-2012。

+0

行,所以你觉得我们能做些什么?你看过加入吗? – Coffee

+0

Google'SQL Join' –

+0

是的,我查询过SQL连接,INNER JOIN是特定的,但它没有给出我想要的结果,或者只是我在查询中丢失了某些东西。 –

回答

1
select sr.Student_ID, sr.Name 
from Student_Record sr 
left outer join Student_Subject ss on sr.Student_ID = ss.Student_ID 
    and ss.Grade = 'Failed' 
where ss.Student_ID is null 
    and sr.School_Year = '2010-2011' 

SQL Fiddle Example

+1

欢迎来到堆栈溢出,我们将为你做你的功课。 –

+0

@JSKNS它是慈善机构:) –

+0

@RedFilter,谢谢你的回答,但这不会返回任何东西? –