不确定我是否正确解释了标题,但这里是schrio。我有这张桌子
我想将结果显示为:
对于相应的TS值,选择CS和SCS值,其中CS或SCS的日期值最接近或小于TS的值日期值。如果未找到,则这些值(CS,SCS)应为空。 感谢。
答案 0 :(得分:0)
一种方法使用相关子查询:
select t.id, t.date, t.name,
(select top 1 startvalue
from table t2
where t2.date <= t.date and
t2.name = 'cs'
order by t2.date desc
) as cs,
(select top 1 startvalue
from table t2
where t2.date <= t.date and
t2.name = 'scs'
order by t2.date desc
) as scs
from table t
where t.name = 'TS';
您可以使用outer apply
执行非常类似的操作。