SQL with 用法

;with sql1 as(
select a.sysserialno,a.FailDetailReason,a.StationName, a.CreateDT,
 row_number() over(partition by a.sysserialno, a.stationname order by a.createdt desc) as num
 from mfsystestresult a 
where a.sysserialno in('FX213050001B9','FX213060002AN')
and a.TestStatus = 'fail'),
sql2 as( select a.*,
 DATEDIFF(ss, b.CreateDT, a. CreateDT) as dit   
 from sql1 a inner join mfsystestresult b on b.sysserialno = a.sysserialno and b.StationName = a.StationName+'_Start' where a.num = 1
 ),
sql3 as (select *,row_number() over(partition by a.sysserialno, a.stationname order by a.dit ) as subnum
from sql2 a where dit >= 0 )

select a.sysserialno,a.FailDetailReason,a.StationName,
CAST(CAST(a.dit / (60*60*24) AS INT) AS VARCHAR) + N'天'
+ CAST(CAST(a.dit % 86400 / 3600 AS INT) AS VARCHAR) + N'小时'
+ CAST(CAST(a.dit % 3600 / 60 AS INT) AS VARCHAR) + N'分'
+ CAST(CAST(a.dit % 60 AS INT) AS VARCHAR) + N'秒' from sql3 a where a.subnum = 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值