lead函数

1.

select  name ,process_operation_name, track_in_time , receiver , track_in_quantity,track_out_time , passer,track_out_quantity , 
       processflow_name,
       processflow_version,
       product_spec_name 
      from (            
       select  distinct timekey,
       name, 
       product_quantity as track_in_quantity , 
       last_event_time as track_in_time, 
       last_event_name as Track_in, 
       last_event_user as receiver,
       lead(last_event_name) over (partition by name,process_operation_name ORDER BY timekey) track_out,
       lead(last_event_time) over (partition by name,process_operation_name ORDER BY timekey) track_out_time,
       lead(last_event_user) over (partition by name,process_operation_name ORDER BY timekey) passer,
       lead(product_quantity) over (partition by name,process_operation_name ORDER BY timekey) track_out_quantity,
    process_operation_name,
       processflow_name,
       processflow_version,
       product_spec_name 
       from job_lot_history 
           where last_event_name = 'TrackIn' 
               or last_event_name = 'TrackOut'
               or last_event_name = 'CancelTrackIn') a where a.Track_in = 'TrackIn' and a.track_in_time != track_out_time
               and name =@lotname ;

例子

1.Lot 的TrackIn ,TrackOut ,CancelTrackIn事件

SELECT 
    name,
    timekey,
    process_operation_name,
    processflow_name,
    processflow_version,
    product_spec_name,
    last_event_name,
    last_event_time
FROM
    job_lot_history
WHERE
    (last_event_name = 'TrackIn'
        OR last_event_name = 'TrackOut'
        OR last_event_name = 'CancelTrackIn')
        AND name = 'GGLA598190409019';

 2.将每一行和下一行的数据合并。

SELECT 
    name,
    timekey,
    process_operation_name,
    processflow_name,
    processflow_version,
    product_spec_name,
    last_event_name as track_in,
    last_event_time as track_out,
    last_event_user as receiver,
    lead(last_event_name) over (partition by name,process_operation_name ORDER BY timekey) track_out,
    lead(last_event_time) over (partition by name,process_operation_name ORDER BY timekey) track_out_time,
   	lead(last_event_user) over (partition by name,process_operation_name ORDER BY timekey) passer
FROM
    job_lot_history
WHERE
    (last_event_name = 'TrackIn'
        OR last_event_name = 'TrackOut'
        OR last_event_name = 'CancelTrackIn')
        AND name = 'GGLA598190409019';

  

 

3.筛选数据

 

select  name ,process_operation_name, track_in_time , receiver , track_in_quantity,track_out_time , passer,track_out_quantity , 
       processflow_name,
       processflow_version,
       product_spec_name 
      from (            
       select  distinct timekey,
       name, 
       product_quantity as track_in_quantity , 
       last_event_time as track_in_time, 
       last_event_name as Track_in, 
       last_event_user as receiver,
       lead(last_event_name) over (partition by name,process_operation_name ORDER BY timekey) track_out,
       lead(last_event_time) over (partition by name,process_operation_name ORDER BY timekey) track_out_time,
       lead(last_event_user) over (partition by name,process_operation_name ORDER BY timekey) passer,
       lead(product_quantity) over (partition by name,process_operation_name ORDER BY timekey) track_out_quantity,
    process_operation_name,
       processflow_name,
       processflow_version,
       product_spec_name 
       from job_lot_history 
           where last_event_name = 'TrackIn' 
               or last_event_name = 'TrackOut'
               or last_event_name = 'CancelTrackIn') a where a.Track_in = 'TrackIn' and a.track_in_time != track_out_time
               and name ='GGLA598190409019' ;

 

转载于:https://www.cnblogs.com/hellcats/p/10729267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值