我有一些遺留的產品數據證明難以使用。產品可以1,2或3個零件出售,系統設計的方式,訂購產品的第2和第3部分只是該產品的第一排之後的後續行。將分區相關的行分組到
下面是一些樣本數據....
----------------------------------------------------------
OrderId Sku Type Row_Id OtherColumns...
----------------------------------------------------------
123 001 Double 0 Other stuff..
123 001 Double 1 Other stuff..
123 001 Double 2 Other stuff..
123 001 Double 3 Other stuff..
123 002 Single 4 Other stuff..
123 003 Triple 5 Other stuff..
123 003 Triple 6 Other stuff..
123 003 Triple 7 Other stuff..
123 001 Double 8 Other stuff..
123 001 Double 9 Other stuff..
123 002 Single 10 Other stuff..
123 002 Single 11 Other stuff..
123 002 Single 12 Other stuff..
123 002 Single 13 Other stuff..
舊的軟件(VB)與此交易通過循環行和期待,因爲它循環,得到它從行所需要的信息,然後跳過它們。
快進8年......我在我的新工作中繼承了這個系統,並從頭開始重寫系統。我遇到的問題是將舊數據轉換爲我的新格式。
我正在尋找一種方法來選擇相同的數據,並通過適當的段號進行分區。我使用了RANK()OVER(PARTITION BY),但沒有成功。我覺得我只是做得不對。
理想情況下,我希望能夠產生一個結果集,看起來像這樣:(注:段列)
-------------------------------------------------------------------
OrderId Sku Type Row_Id Segment OtherColumns...
-------------------------------------------------------------------
123 001 Double 0 1 Other stuff..
123 001 Double 1 2 Other stuff..
123 001 Double 2 1 Other stuff..
123 001 Double 3 2 Other stuff..
123 002 Single 4 1 Other stuff..
123 003 Triple 5 1 Other stuff..
123 003 Triple 6 2 Other stuff..
123 003 Triple 7 3 Other stuff..
123 001 Double 8 1 Other stuff..
123 001 Double 9 2 Other stuff..
123 002 Single 10 1 Other stuff..
123 002 Single 11 1 Other stuff..
123 002 Single 12 1 Other stuff..
123 002 Single 13 1 Other stuff..
理想情況下,我想,以避免光標或循環。我將使用查詢來遷移從多個表派生的數百萬條記錄。
在此先感謝您的幫助。
編輯 我已經更新了示例數據以顯示我確實有背靠背組需要隔離。
標識符爲「基團」是僅'Type'柱,其中一個「雙重」值意味着分組兩行,及「三重」是指3?而且 - 你不應該創建一個在組中不同的標識符,而不是一個似乎根本不分組的行。 – 2012-04-26 04:32:02
第二個示例表格不是我的新格式......它僅僅是一個結果集,可讓我輕鬆識別數據導入過程中的細分受衆羣。 – ctorx 2012-04-26 04:33:52
好的。我的問題的第一部分? – 2012-04-26 04:35:05