使用 UNPIVOT 时格式化列

Formatting columns when using UNPIVOT

我有一个 table 具有以下结构

YEAR, MONTH, ITEM, REQ_1,REQ_2,REQ_3,,.....REQ_31
2015,   07,  AAA,   100,   200, 300.......550

我想将它们反转为这种格式

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

问题是 - 我想避免在此处嵌套 select - 一个 select 用于逆轴,另一个 select 将其格式化为文本中的日期时间。

有没有办法将其合并到一个 select 语句中?

没关系 - 想通了。我在喝什么,我没有立即看到这个? ....DATETIMEFROMPARTS(C.YEAR,C.MONTH, SUBSTRING(C.REQUIRED_DATE,8,2),0,0,0,0)...... –