2014-10-19 53 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

相關問題