2014-06-18 89 views
0

我需要生成一個結果集給所有用戶羣組與用戶的每一組中的數數:每個組的用戶

insert into groupUser value(1,"administrator"); 
insert into groupUser value(2,"commercial"); 
insert into groupUser value(3,"development"); 

insert into user value(1,"jack", 3); 
insert into user value(2,"bill", 1); 
insert into user value(3,"mark", 3); 

的結果應該是:

administrator : 1 
commercial : 0 
development : 2 

我可以找不到解決方案。

+4

你必須使用'LEFT JOIN' – Sadikhasan

+0

什麼是兩個表的字段名稱。 –

+0

這些表的模式是什麼? – Vandesh

回答

1

,因爲你沒有張貼表模式...

select g.Name, count(u.usergroupId) as members 
from groupUser g left join user u 
on u.usergroupId = g.id 
group by g.Name 

Demo Here

+1

你應該從groupUser g left join user u'中更改join中的表,因爲有沒有用戶的組。 – valex

+0

謝謝你Milen的幫助:) – dbyba

0

我認爲這將會給ü更好的結果

Select GroupUser,[Count] 

from (Select groupid,count(*) 'Count' from user group by groupid) t 

join Groupuser G 

on  G.id = t.id