【发布时间】:2012-06-15 03:49:46
【问题描述】:
我正在使用以下过程通过使用数据透视查询来检索presents 和absents 的总数....我想Presents[P] 和Absents[A] 的SUM 和Absents[A] 然后calculate percentage
改变程序 [dbo].[GetAttendence](@Course_Id varchar(30), @Semester varchar(10))
AS
SELECT DISTINCT Enroll_Number, Course_Id, Semester, Isnull([P],0)
As Presents, Isnull([A],0) As Absents
FROM (SELECT Enroll_Number, Course_Id, Semester, Flag from Attendence ) ps
pivot(Count(Flag) for Flag in ([P],[A])) as pvt
WHERE Course_Id = @Course_Id and Semester = @Semester
这是Forula来实现....
总和 = 出席 + 缺席
百分比 = ((礼物/总和) * 100)
【问题讨论】:
-
在字段列表中添加
A+P as SumAP怎么样? -
Mikael - 我可以把它放在哪里?如果可能的话,请给我一个例子....谢谢
-
我的意思是在字段列表中
select distinct A+P, Enroll_Number, Course_Id ...。您的查询看起来有点可疑。如果您可以添加带有一些示例数据和预期输出的表结构,也许有人可以为您提供替代查询。 -
“可疑”是指
distinct关键字,isnull的使用和主查询中的 where 子句,我怀疑它在子查询中做得更好。跨度> -
Mikael -
A+P As Total工作正常...我怎样才能找到上面给出的公式percentage? ?
标签: sql-server-2005 find sum pivot