sql=select dzm,nvl(hpzl,'Z'),zxdm,count(*) from b_zyxmls where zmlm='WXR'and  zxdm in ('11','22') group by nvl(hpzl,'Z'),dzm,zxdm;
执行结果为:现在我想把第二条记录第五条记录合并为一条记录
即     DZM    HPZL  
       读书铺   11    J    1    Z    4

解决方案 »

  1.   

    对此结果集再次group by,只group by dzm就行了select dzm,nvl(hpzl,'Z'),zxdm,count(*) from b_zyxmls where zmlm='WXR'and  zxdm in ('11','22') group by nvl(hpzl,'Z'),dzm,zxdm
      

  2.   

    select aa.DZM ,aa.hpzl,aa.count,bb.hpzl,bb.count 
    from (
    select a.DZM ,a.hpzl,a.count 
    from (select dzm,nvl(hpzl,'Z'),zxdm,count(*) as count from b_zyxmls where zmlm='WXR'and  zxdm in ('11','22') group by nvl(hpzl,'Z'),dzm,zxdm)a
    where a.DZM ='读书铺' and a.hpzl='J'
    ) aa
    inner join (
    select b.DZM ,b.hpzl,b.count 
    from (select dzm,nvl(hpzl,'Z'),zxdm,count(*) as count from b_zyxmls where zmlm='WXR'and  zxdm in ('11','22') group by nvl(hpzl,'Z'),dzm,zxdm)b
    where b.DZM ='读书铺' and b.hpzl='Z'
    )bb on aa.DZM =bb.DZM 
      

  3.   

    sql=select dzm,nvl(hpzl,'Z'),zxdm,count(*) from b_zyxmls  group by dzm,zxdm;
    你试试吧!
      

  4.   

    呵呵,楼主只是求一条数据而已,呵呵,当然我没有必要写这么多,但是楼主以后还是得自己写更多的语句吧,所以还是思考一下比较好,要求也许就是合并相通名称的数据而已,这里就会用到group by ,分组,就是相同的id或者是你的要求项,是一组,然后求其总和,就可以了.楼主可以试试自己写更多的例子,
      

  5.   

    楼主,弄出来,把SQL语句发上来看看,好像有点难度,嘿嘿……
      

  6.   

    分组顺序变一下试试group by dzm,zxdm,nvl(hpzl,'Z');
      

  7.   

    delete A from 表名 A ,(select dzm form 表名 croup by dzm having count(1)>1) as t where t.dzm = a.dzm;
      

  8.   

    delete A from 表名 A ,(select dzm form 表名 croup by dzm having count(1)>1) as t where t.dzm = A.dzm;
      

  9.   

    行转列问题,去搜索吧。这个也行 http://search.laozizhu.com/show.jsp?id=1756
      

  10.   

    优先按照DZM排序  然后按照NVL排序
    联合查询
    LZ要求的太复杂也不实用
      

  11.   

    问题已解决 感谢老紫竹
    sql=select dzm,zxdm,
    max(case ZJ when 'Z' then S else 0 end) Z,
    max(case ZJ when 'J' then S else 0 end) J
    from (select dzm,zxdm,nvl(hpzl,'Z')ZJ,count(*)S from b_zyxmls where zmlm='WXR'and  zxdm in ('11','22') group by dzm,zxdm,nvl(hpzl,'Z')) 
    group by dzm,zxdm;