Sql server 2012 SQL Server 2012中自联接的替换

Sql server 2012 SQL Server 2012中自联接的替换,sql-server-2012,self-join,Sql Server 2012,Self Join,我在下表中有一个场景: 采样数据:(具有一个产品的一小时周期值。) LastRunDate是用户到达的最后一个DB时间。因此,我需要一个类似于和预期结果的查询: TST_DATE CLK_LITRE_WT_Real CLK_LITRE_WT_Seen ----------------------------------------------------------- 09/15/2019 17:15 1280 1190

我在下表中有一个场景:

采样数据:(具有一个产品的一小时周期值。)

LastRunDate
是用户到达的最后一个DB时间。因此,我需要一个类似于和预期结果的查询:

TST_DATE            CLK_LITRE_WT_Real   CLK_LITRE_WT_Seen   
-----------------------------------------------------------
09/15/2019 17:15    1280                1190            <-- value of previous live record. 
09/15/2019 16:15    1300                1190            <-- value of previous live record. 
09/15/2019 15:15    1190                1190            <-- Last seen record by User.
09/15/2019 14:15    1200                1200            
09/15/2019 13:15    1200                1200    
昨天这里的日期和时间是静态的。因为,给定的数据是昨天的数据。结果是:

TST_DATE            CLK_LITRE_WT_Real   CLK_LITRE_WT_Seen
09/15/2019 17:15    1280                1300
09/15/2019 16:15    1300                1190                <-- value of previous live record
09/15/2019 15:15    1190                1200                <-- here should be '1190' as Real
09/15/2019 14:15    1200                NULL
TST\U日期CLK\U升重量实际CLK\U升重量
09/15/2019 17:15    1280                1300

2019年9月15日16:15 1300 1190
将很快共享查询
。。。实际上,您现在应该共享查询,如果没有查询,您的问题就不会真正完成。我的文件意外关闭。所以我需要重写它。同时,如果我分享我的请求,我会得到一些解决方案@TimBiegeleisen,我补充了我的问题。请在代码问题中给出一个--cut&paste&runnable代码;示例输入(作为初始化代码)以及所需和实际输出(包括逐字错误消息);标签和版本;清晰的说明和解释。这包括您能给出的最少代码,即您显示为OK的代码,由您显示为not OK的代码扩展。(调试基础。)对于包含DBMS/product和DDL的SQL,其中包括约束和索引以及表格格式的基表initialization@philipxy我不明白你想说什么。。。!!
TST_DATE            CLK_LITRE_WT_Real   CLK_LITRE_WT_Seen   
-----------------------------------------------------------
09/15/2019 17:15    1280                1190            <-- value of previous live record. 
09/15/2019 16:15    1300                1190            <-- value of previous live record. 
09/15/2019 15:15    1190                1190            <-- Last seen record by User.
09/15/2019 14:15    1200                1200            
09/15/2019 13:15    1200                1200    
select TST_DATE, CLK_LITRE_WT CLK_LITRE_WT_Real, lead (CLK_LITRE_WT) over (order by convert(datetime,sd.TST_DATE + ':15.00') desc) CLK_LITRE_WT_Seen 
from SettingMaster sm left join SampleData sd 
on convert(datetime,sd.TST_DATE + ':15.00') between dateadd (hour, -(4), '2019-09-15 17:20:02.733') and '2019-09-15 17:20:02.733' 
where sm.UserCode = 'aa' 
order by convert(datetime,sd.TST_DATE + ':15.00') desc 
TST_DATE            CLK_LITRE_WT_Real   CLK_LITRE_WT_Seen
09/15/2019 17:15    1280                1300
09/15/2019 16:15    1300                1190                <-- value of previous live record
09/15/2019 15:15    1190                1200                <-- here should be '1190' as Real
09/15/2019 14:15    1200                NULL