从两个数据集按日期和时间加入事件

时间:2017-11-16 23:06:43

标签: sql azure date join time

我有两个来自两个不同系统的表,记录同一个事件(电话)。连接字段是Operator,ScriptID,Date和Time。

我遇到的问题是两个系统之间的日期和时间可能会有几秒钟的变化,有时这会导致日期不同。

例如

EventA in Table 1 occurs at = 23h59:55 15 Nov 2017
EventA in Table 2 occurs at = 00h00:07 16 Nov 2017

数据已被拉入云数据仓库,该数据仓库托管在Microsoft Azure中并使用SQL和TSQL。

Sample Date from Table 1
Operator    Call Date Time  ScriptID
Operator A  4/11/2017 23:48:07  Script 1
Operator A  4/11/2017 23:48:13  Script 2
Operator A  4/11/2017 23:54:56  Script 3
Operator C  5/11/2017 0:03:18   Script 4
Operator A  5/11/2017 0:04:15   Script 5

表2中的样本日期

ScriptID    Session Date Time   Operator 
Script 1    4/11/2017 23:48:06  Operator A
Script 2    4/11/2017 23:49:20  Operator A
Script 3    4/11/2017 23:50:48  Operator A
Script 4    4/11/2017 23:59:41  Operator C
Script 5    5/11/2017 0:03:35   Operator A

必填结果

Operator    ScriptID    Call Date Time  Session Date Time   
Operator A  Script 1    4/11/2017 23:48:07  4/11/2017 23:48:06  
Operator A  Script 2    4/11/2017 23:48:13  4/11/2017 23:49:20  
Operator A  Script 3    4/11/2017 23:54:56  4/11/2017 23:50:48  
Operator C  Script 4    5/11/2017 0:03:18   4/11/2017 23:59:41  Different Dates
Operator A  Script 5    5/11/2017 0:04:15   5/11/2017 0:03:35   

我最初仅通过Operator,ScriptID和Date加入表格,然后及时进行方差计算,并使用Operator,ScriptID和Date的分区找到最小时间差异。

除了日期不同的情况以及分区导致性能问题的数据集大小外,这种情况有效。

有没有办法在两个表中创建一个可以解决此问题的字段,并允许按日期和时间创建逻辑连接?

提前致谢。

0 个答案:

没有答案