Sql server 连接三个数据稍有不同的表时出现union问题
我正在尝试加入三个表。这三个栏目都有以下重要栏目:Sql server 连接三个数据稍有不同的表时出现union问题,sql-server,Sql Server,我正在尝试加入三个表。这三个栏目都有以下重要栏目: StartTime | EndTime | ChannelCode | Data 我们将称这些表为live、legacy和backup 旧表和备份表将数据压缩为2分钟的数据块。我已经找到了如何通过union和distinct从这两个表中获取正确的数据 Table live在最多1分钟的数据块中包含未压缩的数据 另一个进程每2分钟从Live获取一次数据,对其进行压缩并将其放在legacy中。然后,在以后的某个时间(可能是23小时后),数据会按原
StartTime | EndTime | ChannelCode | Data
我们将称这些表为live、legacy和backup
旧表和备份表将数据压缩为2分钟的数据块。我已经找到了如何通过union和distinct从这两个表中获取正确的数据
Table live在最多1分钟的数据块中包含未压缩的数据
另一个进程每2分钟从Live获取一次数据,对其进行压缩并将其放在legacy中。然后,在以后的某个时间(可能是23小时后),数据会按原样复制以进行备份
这并不理想,但我无法更改设计,原因有很多
我想知道的是:
如何从每个表中检索上面列出的所有列,但在给定的时间段内只有一个条目
到目前为止,我已经:
SELECT DISTINCT StartTime, EndTime, ChannelCode, Data
FROM (SELECT StartTime, EndTime, ChannelCode, Data
FROM Legacy
WHERE StartTime < @EndTime
UNION ALL
SELECT StartTime, EndTime, ChannelCode, Data
FROM Backup
WHERE StartTime < @EndTime
) AS Data
WHERE Data.EndTime > @StartTime
ORDER BY ChannelCode, StartTime
旧表和备份表的示例数据:
2015-03-01 04:04:39.740 | 2015-03-01 04:06:39.740 | 516 | <compressed binary data>
活动表的示例数据:
2015-03-01 04:03:39.740 | 2015-03-01 04:04:39.740 | 516 | <uncompressed binary data>
不幸的是,我不知道从这里走到哪里,因为时间跨度是不同的。任何帮助都将不胜感激 您必须对活动数据(只有一个表)的数据进行格式化,以匹配其他两个表,或者对其他两个表进行格式化,以匹配活动表,然后按现有方式进行联合。您可以发布三个表中的样本行数据吗?我已经将样本数据添加到原始问题中。不幸的是,它看起来格式不太好。