これは説明が難しいです。新しいテーブルへの選択挿入で Row_Number() Over(Order by PickedDate) を実行しようとしています。
これは 1,2,3,4,5,6,7 を生成するのにうまく機能しますが、それは私が探しているものではありません。果物のグループごとに最初の行を生成しようとしています。
たとえば、挿入しようとしている次のテーブル構造があります。ItemOrder int、FruitType nvarchar(100)、DatePicked 日時、
次のデータで
果物の種類|収穫日 アップル|2012 年 10 月 1 日 アップル|2012 年 10 月 3 日 アップル|2012 年 10 月 2 日 プラム|2011/9/13 プラム|2011/9/14 プラム|2011/9/15 チェリー|2012/12/2 チェリー|2012/12/4
私は次の結果を得ようとしています
果物の種類|収穫日|ItemOrder アップル|2012 年 10 月 1 日|1 アップル|2012/10/3|3 アップル|2012/10/2|2 プラム|2011/9/13|1 プラム|2011/9/14|2 プラム|2011/9/15|3 チェリー|2012/12/2|1 チェリー|2012/12/4|2
みんなを助けるために
CREATE TABLE #FruitStandPicked
(
FruitType NVARCHAR (100),
選択日DATETIME
);
INSERT INTO #FruitStandPicked (FruitType、DatePicked)
値 ('アップル', '10/1/2012'),
(「アップル」、「2012 年 10 月 3 日」)、
(「アップル」、「2012 年 10 月 2 日」)、
(「プラム」、「2011 年 9 月 13 日」)、
(「プラム」、「2011 年 9 月 14 日」)、
(「プラム」、「2011 年 9 月 15 日」)、
(「チェリー」、「2012 年 12 月 2 日」)、
('チェリー', '12/4/2012');
CREATE TABLE #フルーツスタンドテーブル
(
アイテムオーダー INT,
FruitType NVARCHAR (100),
選択日DATETIME
);
-- これには微調整が必要です
INSERT INTO #FruitStandTable (ItemOrder、FruitType、DatePicked)
SELECT row_number () OVER (ORDER BY fruittype, datepicked),
フルーツタイプ、
ピック日
FROM #フルーツスタンドピッキング;
SELECT * FROM #フルーツスタンドテーブル;
DROP TABLE #FruitStandTable;
DROP TABLE #FruitStandPicked;
繰り返しますが、注文を行う程度には機能しますが、グループ化による注文も必要です。
前もって感謝します!