列转换至行
IF OBJECT_ID('MyPvt')IS NOT NULL
DROP TABLE MyPvt
GO
CREATE TABLE MyPvt
(
ProductID INT NOT NULL,
一月 MONEY,
二月 MONEY,
三月 MONEY
)
INSERT INTO MyPvt
SELECT ProductID,[1] AS 一月,[2] AS 二月,[3] AS 三月
FROM(SELECT ProductID,MONTH(OrderDate) AS OrderMonth,SubTotal FROM Orders)AS O
PIVOT
(
SUM(SubTotal)
FOR OrderMonth IN([1],[2],[3])
)AS PVT
ORDER BY ProductID;
SELECT * FROM MyPvt
SELECT ProductID,OrderMonth,SubTotal
FROM MyPvt
UNPIVOT
(
SubTotal FOR OrderMonth IN(一月,二月,三月)
)AS UNPVT;