zoukankan      html  css  js  c++  java
  • 把相同的条件的多条数据转换成一行数据 即多行转成多列

    问题: 把相同的组织 日期,地区的多条数据转换成一行数据,也就是多行转成多列

     具体sql如下所示:

    select
              r.org_id,
              r.month_id,
              r.area_id,
              SUM(case when r.data_item_id='D0302' then r.current_val end) current_vala,
              SUM(case when r.data_item_id='D0305' then r.current_val end) current_valb,
              SUM(case when r.data_item_id='D0307' then r.current_val end) current_valc,
              SUM(case when r.data_item_id='D0309' then r.current_val end) current_vald,
              SUM(case when r.data_item_id='D0310' then r.current_val end) current_vale,
              max(r.modify_time) modify_time,
              max(r.modifier) modifier,
              max(r.create_time) create_time,
              max(r.creator) creator,
              max(r.rec_ver) rec_ver,
              s.sorg_sname  sorg_name,
              m.area_name,
              p.is_closed
    from bistg.ha_profit_area  r
    left join bistg.mdm_cty_area m on  r.area_id=m.area_id
    left join bidm.sys_org s on r.org_id = s.sorg_id
    left join bistg.etl_period_status p on r.month_id = p.month_id and p.org_id=r.org_id
        where r.org_id in (
              select o.sorg_id from bidm.sys_org o where o.sorg_id=:orgId
         )
         << and r.month_id = :monthId >>
         and ##CONDITIONS##
       group by  r.org_id,r.month_id,r.area_id,s.sorg_sname,m.area_name, p.is_closed   
     order by max(r.modify_time) desc

    结果如下:

  • 相关阅读:
    关于前端开发中的“收口”思想
    Ajax 完整教程(转载)
    GitHub与Git指令入门
    自制一个H5图片拖拽、裁剪插件(原生JS)
    程序猿如何“智斗”产品经理
    Spark 的调度器
    Spark shuffle 过程
    Spark on Yarn 流程
    Spark shuffle 相关参数调优
    Spark shuffle 相关参数调优(带记忆)
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819662.html
Copyright © 2011-2022 走看看