我们在其中一个表中发现了错误的数据,我们希望识别它们。
我们有4个表:
它们之间的关系如下
由于一些学生的名字不同,虽然他们是身份不同的不同人,但我们发现有些学生被分配到不同地点的不同学校
您可以在屏幕截图中看到“Adam Mike”被分配到3个不同的学校,第二行和第三行都可以,因为学校的位置相同但是第一行不合适,因为学校位于不同的位置。
所以我想有一个查询,返回分配到不同位置的所有学生,以便我可以手动纠正它们。
谢谢
编辑
在我的上一个问题Find duplication in multi tables,学生不能在不同的学校。
为了更清楚。
在此屏幕截图中,您会看到所有记录都带有“?”不正确,因为位置不同。所以迈克不能在美国的学校和GB的另一方面JIM在不同的学校但在同一地点所以这是好的现在我想找到学生在不同地点有记录的所有记录。
尝试类似的东西。它返回具有多个唯一位置的学生。
SELECT ss.student_id
FROM school s
JOIN school_student ss
ON s.id = ss.school_id
GROUP BY ss.student_id
HAVING COUNT(DISTINCT s.location_id) > 1