時,我有一個表具有以下結構格式化列使用UNPIVOT
YEAR, MONTH, ITEM, REQ_1,REQ_2,REQ_3,,.....REQ_31
2015, 07, AAA, 100, 200, 300.......550
我想他們UNPIVOT這一格式
ITEM, Date, Quantity
AAA,01-07-2015,100
AAA,02-07-2015,200
AAA,03-07-2015,300
.
.
AAA,31-07-2015,550
我可以使用下面的語句搶出使用UNPIVOT數據
SELECT C.ITEM, CONVERT(DATETIME, (C.YEAR + C.MONTH + SUBSTRING(C.REQUIRED_DAY,8,2)),112) AS REQ_DATE,C.QUANTITY FROM
(SELECT B.YEAR, B.MONTH, B.ITEM, B.REQUIRED_DAY, B.QUANTITY
FROM C25KPPF A
UNPIVOT
(
QUANTITY FOR REQUIRED_DAY IN ([REQ_QTY1], [REQ_QTY2], [REQ_QTY3]....[REQ_QTY31])
) AS B
WHERE B.QUANTITY <> 0) C
事情是 - 我想避免在這裏有一個嵌套的選擇 - 一個選擇爲unpiv另一個選擇將其格式化爲文本中的日期時間。
有沒有辦法在一個單一的select語句中合併它們?
沒關係 - 搞清楚了。我喝了什麼,我沒有馬上看到它? .... DATETIMEFROMPARTS(C.YEAR,C.MONTH,SUBSTRING(C.REQUIRED_DATE,8,2),0,0,0,0)...... –