2015-10-26 26 views
-1

我認爲這段代碼可以進行一些修改,但我不確定如何引用表名和列名,或者如何比較值。獲取在另一個表中沒有值的行

SELECT a.id 
    FROM a LEFT JOIN b ON a.id = b.a_id 
    WHERE b.id IS NULL; 

我有兩個表,組和用戶。組是這個樣子的所有可用組的列表:

| group | mission  | 
| test | just testing | 
| design | still testing | 
| rand | last one  | 

用戶是用戶的列表:

| user | group | 
| me  | test | 
| me  | rand | 
| you | test | 
| you | design | 

只有一個用戶在同一時間進行查詢。

| group | 
| design | 

所以我想它會是這樣的:如果查詢是用戶的「我」運行,它應該只是返回

select group from groups where username = "me" and .... 

而這也正是我迷路。

+1

'其中b.id爲空和a.user ='me''? –

+0

Google,瞭解'SQL JOINS' –

回答

2

你的第一個猜測幾乎是正確的:

http://sqlfiddle.com/#!9/eca9b/3

SELECT g.* 
FROM groups g 
LEFT JOIN users u 
ON u.group = g.group 
    AND u.user = 'me' 
WHERE u.user IS NULL; 
1

我不知道我理解你的問題,因爲它不是很清楚,但是基於頭銜,我會想象你需要做的是這樣的:

SELECT * FROM Table1 WHERE Table1.User NOT IN (SELECT user FROM Table2) 
相關問題