1

select ステートメントを一時テーブルに保存したいのですが、パーティション コマンドを使用しているため、保存方法がわかりません。

これは私のselectステートメントのサンプルです:

;WITH A
AS
(
 SELECT ROW_NUMBER() OVER(PARTITION BY A.colRecordLocator, A.farerId,
    A.colOnOff , A.VendorID 
    ORDER BY A.TagID DESC) xRow, A.*   
 FROM dbo.TVehicle A
)SELECT A.* FROM A WHERE A.xRow = 1

一時テーブル #tempTable1 に入れたいです。値を使用して別のテーブルに結合するため、これを行う必要があります。ストアドプロシージャ内の他のクエリで一時テーブルを使用する必要があるため、これも行っています。すべてを再度変更したくないため、一時テーブルのデータを (パーティションコマンドで) 変更するだけで更新できます。私のストアドプロシージャ。

これを一時テーブルに保存できるようにするにはどうすればよいですか?

4

1 に答える 1

1
;WITH A
AS
(
 SELECT ROW_NUMBER() OVER(PARTITION BY A.colRecordLocator, A.farerId,
    A.colOnOff , A.VendorID 
    ORDER BY A.TagID DESC) xRow, A.*   
 FROM dbo.TVehicle A
) 
SELECT A.* Into #TempTable  
FROM A 
WHERE 
A.xRow = 1

簡単な例を次に示します: http://sqlfiddle.com/#!6/ccfdb4/1/0

于 2014-09-10T09:06:57.597 に答える