选择特定帐户的用户和组

时间:2012-07-03 02:27:33

标签: mysql sql

对于下表,我想为特定帐户选择所有用户及其组。

USERS 
-id
-name
-groupid
-accountid


GROUPS 
-id
-name
-accountid

我正在做以下事情:

SELECT 
USERS.ID,
USERS.NAME,
GROUPS.ID,
GROUPS.NAME,    
FROM GROUPS JOIN USERS ON USERS.ACCOUNTID= GROUPS.ACCOUNTID
WHERE GROUPS.ACCOUNTID=1

由于某种原因,结果重复3次(这是组的数量)。每个用户使用不同的GROUPID显示3次。

更新如果我加入了GROUPID,就像建议的那样。我得到以下内容。正如您所看到的,即使组中有多个用户,每个组也只显示一个用户。

USER_ID  GROUP_ID     GROUP_NAME        NAME
42            6        Teacher      John E. 
59            8        Student      Bill W. 

1 个答案:

答案 0 :(得分:1)

由于您加入ACCOUNTID而不是GROUPID,每个用户显示3次不同的GROUPID。

您可以尝试以下方法,即加入GROUPID。

SELECT 
USERS.ID,
USERS.NAME,
GROUPS.ID,
GROUPS.NAME    
FROM USERS JOIN GROUPS ON USERS.GROUPID= GROUPS.ID
WHERE GROUPS.ACCOUNTID=1

更新: http://sqlfiddle.com/#!2/3afee/1