【发布时间】:2013-09-04 14:57:46
【问题描述】:
我使用的是 SQL Server 2008,我正在尝试对数据进行反透视。这是我正在使用的 SQL 代码,
CREATE TABLE #pvt1 (VendorID int, Sa int, Emp1 int,Sa1 int,Emp2 int)
GO
INSERT INTO #pvt1 VALUES (1,2,4,3,9);
GO
--Unpivot the table.
SELECT distinct VendorID,Orders,Orders1
FROM
(SELECT VendorID, Emp1, Sa,Emp2,Sa1
FROM #pvt1 ) p
UNPIVOT
(Orders FOR Emp IN
(Emp1,Emp2)
)AS unpvt
UNPIVOT
(Orders1 FOR Emp1 IN
(Sa,Sa1)
)AS unpvt1;
GO
这是上面代码的结果。
VendorID Orders Orders1
1 4 2
1 4 3
1 9 2
1 9 3
但我希望我的输出如下所示
VendorID Orders Orders1
1 4 2
1 9 3
上面代码的关系是2与4相关,3与9相关。
我怎样才能做到这一点?
【问题讨论】:
-
FWIW .. 以下链接帮助了我... mangalpardeshi.blogspot.com/2009/04/…
标签: sql sql-server sql-server-2008 unpivot