2016-09-20 13 views
0

これは前に投稿されていますが、私は答えを見つけることができない場合は申し訳ありません。ある開始点から特定の終了点までの整数を一時テーブルに追加したい。からすべての数値を挿入してください

私は車のテーブルを持っているとしましょう。各車両には、年があります。例えば、フォードマスタングGTは、2006年からだから、2014年

に同じボディスタイルを持っているかもしれませんが、私は私が最小と最大の年を取得することができます

create table #TempYears 
    (
     intYearID int 
) 

テーブルに作成

SELECT min(yearFrom) As minYear, 
     max(yearTo) AS MaxYear 
FROM vehicle 

しかし、私はどのように2つを一緒に置くか分からない。

+0

あなたは、いくつかのサンプルデータおよび所望の結果を投稿することができます。そのままでは、この質問は正確に答えられるほど明確ではありません – Lamak

+3

[SQL Serverの2つの数値の間に数値の範囲を生成する方法]の可能な複製(http://stackoverflow.com/questions/21425546/how-to -generate-a-range-of-number-between-two-numbers-in-sql-server) – JNevill

+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<[email protected] 
) 
INSERT INTO #TempYears SELECT * FROM gen 
SELECT * FROM #TempYears 
関連する問題