我正在尝试查找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'
答案 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' )
)