试图通过连接找到从一年到下一年的继续学生

时间:2013-04-15 22:10:48

标签: sql sql-server sql-server-2008 sql-server-2008-r2

我正在尝试查找2007年返回的学生记录。我有一个2006年的文件和2007年的文件。我有以下查询,但不确定我是否使用了正确的联接。也应该是File2006.ENTRY CODE ='CONT'或File2007.ENTRY CODE ='CONT'

'CONT'表示学生从2006年到2007年继续

SELECT * 
FROM File2006 inner join File2007 ON File2006.StudentID = File2007.StudentID
WHERE File2006.ENTRY CODE = 'CONT'

2 个答案:

答案 0 :(得分:1)

不,我认为你不需要在这里使用where子句。由于Inner join将返回两年的普通学生

SELECT * FROM
File2006 inner join File2007 ON File2006.StudentID = File2007.StudentID

如果'CONT'表示学生从2006年到2007年继续 那么为什么不使用简单的选择查询来获取那些code='CONT'

的学生
SELECT * FROM File2007.ENTRYCODE = 'CONT'

答案 1 :(得分:0)

您可以使用EXISTS

SELECT * 
FROM   file2006 f6
WHERE EXISTS
(
   SELECT 1 FROM file2007 f7 
   WHERE f6.studentid = f7.studentid 
   AND ( f6.entry_code = 'CONT' OR f7.entry_code = 'CONT' )
)