日期:2014-05-16  浏览次数:20782 次

求三表联合查询记录总数Sql语句
三个表结构如下
a表       aid     name
            1         a
            2         b

b表       bid         aid
              1           1
              2           2
              3           2

c表       cid           bid
            1               1
            2               2
            3               2
            4               3
            5               3

求一个Sql语句     得出a表关联b表和c表的记录总数
            aid         name         bcount         ccount
              1             a               1                     1
              2             b               2                     4


------解决方案--------------------
select aid, name, count(*)bcount, sum(num) ccount
from
(
select a.aid aid, a.name name, bid bid
,(select count(*) from c where c.bid=b.cid) num
from a, b
where a.bid=b.bid
)
group by aid, name
这样应该可以实现你要的功能(没有测试,可能会有点小问题)
就是不知道效率怎么样了