我在 Access 中有这段代码:
SELECT DISTINCT p.course, p.date
FROM Student s, Participation p
WHERE s.id = d.student AND footballer = NO
当我运行它时,我得到 10 行。所以我下次用它作为子查询:
SELECT c.course, c.date
FROM Course c
WHERE NOT EXISTS
(SELECT DISTINCT p.course, p.date
FROM Student s, Participation p
WHERE s.id = d.student AND footballer = NO)
我根本没有得到任何结果。所以我删除了NOT
in NOT EXISTS
,我得到了Course
表中的所有 15 行。所以在我看来,course
从主查询而不是从子查询中date
读取的子查询。但这怎么可能,因为我创建了不同的别名,甚至源表也不同(尽管它们都包含名称和的列),我该如何解决这个问题?Course
Participation
course
date