2

我在这里迫切需要一些帮助。

我的问题是:我的数据库中有两个表,tblSubmission并且tblStudent. 由键tblStudent链接。中的某些行已被删除,因此与它们在 中的行取消链接。tblSubmissionstudent_idtblStudenttblSubmission

我需要做的是比较这两个表,并找到student_id存在于tblSubmission中但不存在于 中的 ' tblStudent,但结果tblSubmission必须有一个app_id等于 358 的列。

手动检查这些行不是一种选择,因为它们有数千个。我已经尝试了很多查询,使用我知道的最多的 SQL 和诸如 NOT EXISTS 和 NOT IN 之类的子句,但无济于事。

4

1 回答 1

3

这将显示 tblSubmission 中所有在 tblStudent 中没有相关记录的记录:

SELECT tblSubmission.*
FROM tblSubmission left join tblStudent on tblSubmission.student_id = tblStudent.student_id
WHERE tblStudent.student_id is null
      AND app_id = 358

或者也:

SELECT tblSubmission.*
FROM tblSubmission
WHERE student_id not in (select student_id from tblStudent)
      AND app_id = 358
于 2012-11-28T23:24:29.077 回答