select bono,elno,count(*) as elsum from a
where bono = 'a'
group by elno
union all
select bono,elno,count(*) as elsum from a
where bono = 'b'
group by elno

解决方案 »

  1.   

    insert into B(bono,elno,elsum) select bono,elno,count(elno) from A group by elno
      

  2.   

    insert into B(bono,elno,elsum) select bono,elno,count(elno) as elsum 
           from A group by elno
      

  3.   

    select distinct bono,elno,(select count(*) from A ab where ab.bono = aa.bono and ab.elno = aa.elno) from A aa
      

  4.   

    TO : csdnweii
    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'A.BONO' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  5.   

    不好意思,写错了insert into B(bono,elno,elsum) select bono,elno,count(elno) as elsum 
           from A group by bono,elno
      

  6.   

    擴充一下,在表A中加一re 字段
       bono elno re
        a  m1     R1   
        b  m1     R2
        a  m1     R3
        a  m2     c1
        a  m1     c2
        b  m2     c3
        b  m1     c4 
        c  m2     c5
        c  m2     c6
         ....
       則如何得到如下結果:
        bono elno   rsum
         a    m1     R1,R3,c2
         a    m2     c1
         b    m1     R2,c4
            .... 即當在表A中 bono和elno兩個字段都相同時,將re字段合併到一齊.