2015-09-27 32 views
0

我有兩個表的一個結果首先是用戶表如何選擇不屬於一個用戶組的用戶

id username 

1 xyz 

2 abc 

和用戶組表

user_id  group_id 

1   2 

1   3 

1   5 

2   2 

2   3 

我要選擇用戶的一個結果其中不屬於組標識5.

+0

你想爲每個用戶或重複單行嗎?如果是單行,那麼所有用戶組都應出現在結果集或任何特定的行中。 – seahawk

回答

0
SELECT DISTINCT user.username FROM user 
JOIN usergroup ON usergroup.user_id = user.id 
WHERE usergroup.group_id != 5 
+0

它會帶來這兩個值作爲user_id 1屬於其他組也 –

+0

@Ryandecosta那麼'DISTINCT'呢? –

2

首先所有用戶標識都在第5組。然後列出所有用戶排除這些

SELECT * FROM user WHERE id NOT IN (
    SELECT user_id 
    FROM group 
    WHERE group_id = 5 
); 
相關問題