2010-09-07 65 views
0

我有一个表关系,它将一个人链接到很多亲戚。所以表格是1.客户端。 2. Client_relative。我想显示Persons表的所有行,同时显示每个人有多少亲属的计数。我有这个查询: SELECT c.clientid, c.fname, c.lname, count(cr.relativeid) as relativecount FROM {client} AS c INNER JOIN {client_relative} cr on c.clientid = cr.clientid 跨两个表执行选择计数sql

这是行不通的。有任何想法吗?

回答

1
select c.*, cc.relativecount 
from client c 
inner join (
    select clientid, count(*) as relativecount 
    from client_relative 
    group by clientid 
) cc on c.clientid = cc.clientid 
+0

等一下......我发誓我看到你的帖子在群组之前加入。但是没有编辑历史......很奇怪。 – ErikE 2010-09-07 20:47:28

+0

谢谢红!工作 – berto77 2010-09-07 21:09:36

+0

嗨红,其实,我注意到,如果客户端没有亲戚,这个查询不会输出客户端。它只是忽略那些没有亲属的人。有任何想法吗?谢谢, – berto77 2010-09-08 14:05:46