表一:行业大类表ClassTable
字段:cid,cname(大类名称)表二:企业表UserTable
字段:uid,uname,class1(企业所属行业大类名称,对应cname)表三:信息表NewsTable
字段:nid,ntitle(信息标题),uerid(信息所属企业的id,对应表二的uid).请教:每个大类下有多少条信息。没有信息的显示0.比如实现如下效果:cname 新闻条数服装(200)
旅游(12)
房产(359)
五金(0)
。。
字段:cid,cname(大类名称)表二:企业表UserTable
字段:uid,uname,class1(企业所属行业大类名称,对应cname)表三:信息表NewsTable
字段:nid,ntitle(信息标题),uerid(信息所属企业的id,对应表二的uid).请教:每个大类下有多少条信息。没有信息的显示0.比如实现如下效果:cname 新闻条数服装(200)
旅游(12)
房产(359)
五金(0)
。。
select a.cname,sum(isnull(c.cnt,0)) as 新闻条数
from ClassTable a
left join UserTable b on a.cname=b.class1
left join
(select uerid,count(1) as cnt from newstable group by uerid) c
on b.uid=c.uerid
group by a.cname
from ClassTable a
left join UserTable b on a.cname=b.class1
left join NewsTable c on b.uid=c.userid
group by a.cnameTRY
from ClassTable a
left join UserTable b on a.cname=b.class1
left join NewsTable c on b.uid=c.userid
group by a.cname