select a.classname,count(*) as 记录总数
from 表B b
left join 表A a
on a.id=b.classid
group by a.classname

解决方案 »

  1.   

    SQLSERVER的:
    select a.className ,(select count() from 表B where 表B.classid = a.id) from 表A a
      

  2.   

    改一下,SQLSERVER的:
    select a.className ,(select count(ID) from 表B where 表B.classid = a.id) from 表A a
      

  3.   

    xluzhong(Ralph) 的语句,如果在A表有这个类,而B表没有,就不能出来。
    要改成:
    select a.classname,count(b.id) as 记录总数
    from b
    right join  a
    on a.id=b.classid
    group by a.classname//不过效率没我的快,:)
      

  4.   

    我原来的错误就是把内容表放在前面呀:原来要把分类表放在前面呀~~真晕死人了~~
    select a.class_name,count(*) as countid from news_info b left join news_class a on a.id=b.news_class group by a.class_name