我有一个包含以下字段的临时表:
我还有另一个表(DaysLate),该表使用以下字段之一进行设置:
(DaysLate)表中的一些示例值是10、20、30、50
我想在临时表中插入基于DaysLate表的值创建的数字范围。
例如:如果我们使用上面的值,则该临时表中的第一条记录将是
下一条记录将是:
接下来:
遵循此模式直到最终值:
棘手的部分是数字都是动态的。此处可能只有一个值,10个值,甚至没有值。如果表中没有任何记录,则我还有另一条逻辑路线要运行。
您可以使用如下查询
; with indexedDL as
(
select *,
rn= row_number() over(order by Dayslate asc)
from Dayslate
)
select
RangeStart=isnull(d2.Dayslate,0),
RangeEnd =d1.Dayslate-1,
RangeText = isnull(cast(d2.Dayslate as varchar(100)),'0') + isnull('-'+ cast(d1.Dayslate-1 as varchar(100)),'+')
from
indexedDL d1 full outer join
indexedDL d2
on d1.rn=d2.rn+1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句