我在this question张贴了表格。
•测量(MeasureID,时间,距离,值)
•事件(EventID,时间价值)
•EventValues(EventDataID,EventID,Type,Value)
我目前可以获得每次测量的最新事件,但我想做的是获取最新事件,但如果一个不存在(即测量是在第一次事件之前)我想得到CLOSEST事件(基本上是第一个事件)
我想也许按时间顺序排序显示正面时间,然后在我的子查询中显示负面时间,这是可能的,我怎么能实现呢?
答案 0 :(得分:2)
没有经过测试,但我认为下面的案例逻辑就可以了。
(SELECT TOP 1 EV.value FROM [Event] E JOIN EventValues EV ON E.EventID = EV.EventID
WHERE M.Time >= E.Time
ORDER BY case when M.Time > E.Time then 1 else 2 end,
abs(M.Time-E.Time)) AS Data