计算多连接语句的查询结果

时间:2010-06-23 19:57:53

标签: sql

select cnt.loginid, grp.last_name as 'Group Name' 
from contact cnt 
    right join grpmem list on cnt.contact_uuid = list.member 
    left join contact grp on grp.contact_uuid = list.group_id 
    join contact_acctyp cntacc on cnt.contact_uuid = cntacc.contact_uuid
where cntacc.c_acctyp_id in (select id from acctyp_v2 where sym like 'CDN%')

我为我们的系统编写了一个查询,其中列出了所有加拿大联系人及其所在群组。

现在,对于多个组中的人(他们的loginid多次出现),我需要确定他们所在的组数(返回计数)。但是,我不确定如何进行计数。

我希望我的输出格式如下:

| USER ID | # of Groups |

我似乎无法弄清楚如何将我写的内容变成那样。

1 个答案:

答案 0 :(得分:2)

假设你要做的就是汇总你已经回来的信息,而不仔细查询你的查询,这是一个猜测:

select 
    cnt.loginid, 
    COUNT(*)
from contact cnt 
    right join grpmem list on cnt.contact_uuid = list.member 
    left join contact grp on grp.contact_uuid = list.group_id 
    join contact_acctyp cntacc on cnt.contact_uuid = cntacc.contact_uuid
where cntacc.c_acctyp_id in (select id from acctyp_v2 where sym like 'CDN%')
GROUP BY
     cnt.loginid