これは説明が難しいです。新しいテーブルへの選択挿入で 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;
繰り返しますが、注文を行う程度には機能しますが、グループ化による注文も必要です。
前もって感謝します!