0

我正在尝试查找 2007 年返回的 2006 年学生记录。我有一个 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'
4

2 回答 2

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'
于 2013-04-15T22:13:52.080 回答
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' )
)  
于 2013-04-15T22:14:56.950 回答