我迫切需要一些帮助。
我的问题是:我的数据库中有两个表,tblSubmission
和tblStudent
。 tblStudent
通过tblSubmission
密钥与student_id
相关联。 tblStudent
中的某些行已被删除,因此未与tblSubmission
中的行相关联。
我需要做的是比较两个表格,找到student_id
中存在的tblSubmission
,但不是tblStudent
中的tblSubmission
,而是来自app_id
的结果必须有一个{{1}}等于358的列。
手动检查这些行不是一个选项,因为它们有数千个。我已经尝试了很多查询,使用我所知道的最多的SQL和类似NOT EXISTS和NOT IN的条款,但无济于事。
答案 0 :(得分: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