这是我第一次尝试旋转表格。我设法只用一种措施来摆动桌子,并没有用多种措施来做到这一点。请问我能得到一些建议吗?以下是我拥有的测试数据,我希望看到。请注意,我有大约20到30个措施。tsql:使用多种方法旋转表格
提前致谢!
-- Test Data HAVE
CREATE TABLE #have
(Name VARCHAR(50),Subject Varchar(20), Marks1 INT,Marks2 INT, Result Varchar(20))
GO
INSERT INTO #have VALUES('Jsmith','Maths',65,56,'Pass')
INSERT INTO #have VALUES('Jsmith','Science',42,72,'Failed')
GO
-- Test Data WANT
CREATE TABLE #want
(Name VARCHAR(50),Maths_Marks1 INT ,Maths_Marks2 INT,Science_Marks1 INT,Science_Marks2 INT, Maths_Result Varchar(20), Science_Result Varchar(20))
GO
INSERT INTO #want VALUES('Jsmith',65,56,42,72,'Pass','Failed')
GO
select * from #have
select * from #want
-- Pivot table
SELECT Name , [Maths] AS [Maths_Marks1], [Science] AS [Science_Marks1]
FROM
(SELECT Name, Subject, Marks1 FROM #have) as SourceTable
PIVOT
(SUM(Marks1)
FOR Subject in ([Maths],[Science])
) as PivotTable1
-- Also Tried..Unable to get it working
SELECT Name , [Maths] AS [Maths_Marks1], [Science] AS [Science_Marks1]
FROM
(SELECT Name, Subject, Marks1 FROM #have) as SourceTable
PIVOT
(SUM(Marks1)
FOR Subject in ([Maths])
) as PivotTable1
(SELECT Name, Subject, Marks2 FROM #have) as SourceTable
PIVOT
(SUM(Marks2)
FOR Subject in ([Science])
) as PivotTable2
编辑你的问题,并提供样本数据和预期的结果。 –