如果之前已经发布过,我很抱歉,但我似乎无法找到答案。我想将从某个起点到某个终点的整数添加到临时表中。
假设我有一张车辆表。每辆车都有一个往返的年份。例如,从2006年到2014年,福特野马GT可能具有相同的车身风格。
所以,我创建了表
create table #TempYears
(
intYearID int
)
我可以获得最低和最高年限
SELECT min(yearFrom) As minYear,
max(yearTo) AS MaxYear
FROM vehicle
但我不确定如何将两者放在一起。
谢谢
答案 0 :(得分:1)
您只需要插入JNevill评论中使用的cte ....
DECLARE @startnum INT
DECLARE @endnum INT
SET @startnum = (select min(yearFrom) from vehicle)
SET @endnum = (select max(yearFrom) from vehicle)
;WITH gen AS (
SELECT @startnum AS num
UNION ALL
SELECT num+1 FROM gen WHERE num+1<=@endnum
)
INSERT INTO #TempYears SELECT * FROM gen
SELECT * FROM #TempYears