表:
 编号    上级编号    姓名
 001                  a
 002       001        b
 003       003        b
 004       002        b
 005       001        b
 006       001        b
 ……统计出每个人所管的人力
 
 编号      人力
  001       3
  002       1
  003       1
  004       0
  005       0
……请问大家帮忙看看有什么好的思路么?

解决方案 »

  1.   

    Select a.编号,人力=count(b.上级编号)  
    from 表 as a left Jon 表 as b on a.编号=b.上级编号
    group by a.编号
      

  2.   

    select a.编号,isnull(b.人力,0) as 人力 from 表 a 
    left join
    (
     select 上级编号,count(*) as 人力 from 表
    group by 上级编号
    )b
    on a.编号=b.上级编号
      

  3.   


    select A.编号,count(*) [Count] from TableName A
    left join TableName B
    on A.编号=B.上级编号
    group by A.编号
      

  4.   

    select 上级编号,count(*) from table group by 上级编号 order by count(*) desc
      

  5.   

    猛看一下以为是树
    Select a.编号,人力=count(*)  
    from 表 as a left Jon 表 as b on a.编号=b.上级编号
    group by a.编号
      

  6.   

    WangZWang(先来) ( ) 信誉:100    Blog 是正确的解答,顶一个。。