0
Original
RecordKey Name Section1_Product Section1_Code Section2_Product Section2_Code ......
1 a ff 22
2 b gg 22
3 c hh 33
RecordKey Name Section Product Code ......
1 a 1 ff 22
1 a 2
2 b 1 gg 22
2 b 2
3 c 1 hh 22
3 c 2
我想將列轉化爲行。有些部分會有空值。Unpivot多列不顯示慾望結果
SELECT RecordKey
,Name
,'Num_of_Sections' = ROW_NUMBER() OVER (PARTITION BY RecordKey ORDER BY ID)
,Product
,Code
FROM (
SELECT RecordKey, Name, Section1_Product, Section1_Code, Section2_Product, Section2_Code FROM Table
) M
UNPITVOT (
Product FOR ID IN (Section1_Product, Section2_Product)
) p
UNPIVOT (
Code FOR CO IN (Section1_Code, Section2_Code)
) c
如果我只執行一列(Product,註釋掉代碼),那麼我將在ID列(1,2)中有2個值。如果我用2列運行查詢,那麼我在ID列(1,2,3,4)中得到4個值。
謝謝你幫助我的假設和數據。 Section2_Product&Section2_Code可以具有值或可以爲空,並且該文件具有多於兩個部分。 – user1804925
只需在NULL Place中添加值並在Cross Apply中添加該部分和代碼就像1&2 @ user1804925 – mohan111