select 
       s.aaaa  as 单位,
       s.cccc 金额,
       s.dddd as 分配金额
      from vw_budget_voucher s这是个简单的列子
   查询出来后 
     s.aaaa(字符串) 代表的单位那一列 有重复的 ,
     但金额和分配金额 不相同(数字)我希望根据合并  把相同的单位 只要1个显示。金额然后根据相同的单位都加在一起  ,  分配金额  就不用管了
因为我不会截图 只有手动写表了这是没合并前
        单位              金额           分配  第1列  111               222             333
 第2列  111               2222            3333
合并后:
       单位               金额            分配第1列                                      333
        111                2444             
第2列                                      3333
   
     合并后  单位第1列和第2列的单为和金额 都被合并在一起了。
求高手解决 绝对高分啊 。    
  

解决方案 »

  1.   


    select aaaa as "单位", sum(bbbb) as "金额" from tab group by aaaa;
      

  2.   

    这方法我试过 但后面还有很多数据不同的列   光group by  aaaa的话 会抱后面的列 不是group BY的表达式
    我上原代码吧:
    select 
           s.en_name as 单位,
        s.en_code as 单位编码,
        s.sm_name as 摘要,
        s.mb_name as 业务部门,
       s.b_voubill_no as 指标单据号,
       s.bl_code,
       s.file_name as 财力文号,
       s.bs_code as kmdm,
       s.bs_name as 科目,
       
          (b.base_avi + b.base_aving + b.adjust_add_avi + b.adjust_add_aving -
           b.adjust_minus_avi - b.adjust_minus_aving + b.callback_avi +
           b.callback_aving - b.minus_avi - b.minus_aving)  as 已下达金额,
           (select g.avi_money from gl_balance g where g.ccid=aa.ccid) as 分配金额
       
          from  vw_budget_query_cs b ,vw_budget_query_dw aa,vw_budget_voucher s
           where b.sum_id=aa.fromctrlid
           and  b.sum_id=s.fromctrlid
     
         
      
      

  3.   

    该分组的就放到group by 后面呗
    该sum的就sum你说的很难让别人理解,不过分组求和而已,好好想想吧
      

  4.   


    只要不需要合并的字段,全部放在 group by 后面,使用","连接,需要合并的字段就在 select 后面使用 sum(合并字段)
      

  5.   

    我自己哈了 本来软件上可以实现的 我却认为在sql里实现     谢谢你们了