0
我使用过的动态数据透视表来生成班级宽表的数据,但仍需要获取每个孩子的总分数和主题数量。以下是动态数据透视查询和结果。如何在动态生成的数据中获得总计
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(Course)
FROM (SELECT DISTINCT Course FROM Courses) AS Courses
SET @DynamicPivotQuery =
'SELECT * FROM
(SELECT
[Course],
Total,studentcourses.StudentId As Id,fname,lname
From student
join StudentCourses
on student.StudentId = studentcourses.StudentId
join courses
on studentcourses.CourseId = courses.courseid)X
PIVOT(SUM(Total)
FOR Course IN (' + @ColumnName + ')) AS PVTTable'
EXEC sp_executesql @DynamicPivotQuery
我的结果如下
Id fname lname AgricSc BasicSc CART English ICT Maths PHE
1 Fatima Abdullahi 96 97 92 97 93 97 90
2 Muhammed Abubakar 89 87 92 90 95 92 86
3 Samiat Akere 96 94 94 99 96 97 97
4 Idris Yakubu 80 92 96 92 80 88 84
5 Maryam Suleiman 80 74 95 77 90 77 86
它的工作表示感谢。同样的方法是否适用于每个孩子受试者数量的计数? –