2009-07-24 47 views
1

我正在嘗試顯示錶vocabulary中的所有名稱,其中vidcollapse_menu中的vid不匹配。我將如何做到這一點?如何選擇不匹配SQL中另一個表的表的行?

Table vocabulary 
    vid  name 
    1 Sections 
    2 Posts 
    6 Forums 
    5 Departments 
    13 Free Tags 
    8 Committees 
    9 Training and Workshops 
    10 Policies 
    12 Projects 
    14 Teams 

Table collapse_menu 
vid 
8 
5 
10 
+2

請學習「描述性標題福」字的藝術。它會幫助你在旅途中。 – 2009-07-24 18:29:57

回答

4

選擇名稱,其中VID沒有(選擇collapse_menu VID)

+0

或使用「WHERE NOT EXIST(子選項)」 – 2009-07-24 19:14:17

-2
select name 
from vocabulary as v, 
    collapse_menu as c 
where v.vid!=c.vid 

編輯:對不起,沒有正確讀取的問題。從vocubulary

1

SELECT * FROM詞彙,collapse_menu WHERE vocabulary.vid <> collapse_menu.vid;

12

我假設你要求詞彙表中的這些名字,其中vid不在collapse_menu表中。

在這種情況下,

SELECT name 
FROM vocabulary 
LEFT JOIN collapse_menu ON vocabulary.vid = collapse_menu.vid 
WHERE collapse_menu.vid IS NULL 
+0

Bingo。其他一些建議可以用於簡單情況,但這是記住複雜情況的技巧。 – SeaDrive 2009-07-24 19:35:41

相關問題