ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 按照顺序 将记录为0的补齐为上一行数据

按照顺序 将记录为0的补齐为上一行数据

原创 Linux操作系统 作者:随波逐流zhl 时间:2012-08-28 11:13:28 0 删除 编辑
select jh,elsyds,elshhd from
(
    select jh,rn1,flag,rn1,rn2,case when flag=1 then lag(elsyds,rn3,elsyds)over(partition by jh order by rn1) else elsyds end elsyds ,
    case when flag=1 then lag(elshhd,rn3,elshhd)over(partition by jh order by rn1) else elshhd end elshhd,elsyds elsyds_old,elshhd elshhd_old from
    (
     select jh,elsyds,elshhd,rn1,flag,rn2,row_number()over(partition by jh,elsyds,rn1-rn2 order by rn1) rn3 from
      (
          select jh,elsyds,elshhd,rn1,flag,xcxh, row_number() over (partition by jh,elsyds order by xcxh,rn1 ) rn2 from
            (select jh,elsyds,elshhd,xcxh,rn1,case when nvl(elsyds,0)=0 then 1 else 0 end flag  from
              (
                select jh,xcxh,elsyds,elshhd,row_number() over (partition by jh order by xcxh) rn1 from daa05_cy2_original t  where jh='2G163-141'
              )order by xcxh
            ) order by xcxh
      )order by xcxh
   )
)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27121964/viewspace-742052/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-07-27

  • 博文量
    14
  • 访问量
    9889