2014-10-19 48 views
0

首先,我第一次看到这样的:MS Access - WHERE IN works, but WHERE NOT IN failsIN的作品,而不是在不

然而,该解决方案不是为我工作。我的问题是这样的:

SELECT DISTINCT MOVIE.Movie_Num, MOVIE.Movie_Title, 
MOVIE.Movie_Year, VIDEO.Movie_Num 
FROM MOVIE INNER JOIN VIDEO ON MOVIE.Movie_Num = VIDEO.Movie_Num 
WHERE (((MOVIE.Movie_Num) In (SELECT Movie_Num from VIDEO))); 

这是可行的,因为它应该。有一个Movie_Num不会显示在VIDEO中,所以它不会显示在查询中。

然而,当我尝试:

SELECT DISTINCT MOVIE.Movie_Num, MOVIE.Movie_Title, 
MOVIE.Movie_Year, VIDEO.Movie_Num 
FROM MOVIE INNER JOIN VIDEO ON MOVIE.Movie_Num = VIDEO.Movie_Num 
WHERE (((MOVIE.Movie_Num) Not In (SELECT Movie_Num from VIDEO))); 

它不显示任何记录时,应该有一个。

在我缺少的语法中是否有某些东西?

回答

2

您的INNER JOIN正在筛选“missing”记录,所以where子句无关紧要。

+0

因为这些表已链接,INNER JOIN不会自动执行吗?我不知道如何解决这个问题。 (我们刚刚开始使用SQL) – Blackwell 2014-10-19 02:54:35

+0

没关系,我想通了。删除VIDEO表:D。 谢谢。 – Blackwell 2014-10-19 03:08:23

相关问题