我有此代码,必须依靠学习者通过的总数,计算整体学习者的总数,然后终于Number_Passed / TOTAL_NUMBER * 100
Declare @TotPass int,@TotNum int, @PasRate Decimal(3,0),
@intFlag INT = 7
WHILE (@intFlag >0 )
BEGIN
set @TotNum=(Select COUNT(ProgressionStatus)
from LearnerProgression
where AcademicYear='2010' and EmisCode='500171421'
group by Grade
)
set @TotPass =(Select COUNT(ProgressionStatus)
from LearnerProgression
where AcademicYear='2010' and EmisCode='500171421'
and ProgressionStatus='P'
group by Grade
)
set @PasRate= (convert(decimal,@TotPass)/CONVERT(decimal,@TotNum)*100 )
select @TotPass,@TotPass,@PasRate as Rate
set @intFlag=@intFlag-1
END
我得到这个错误"子查询返回值超过1,这是不允许的,当子查询跟随在=,=,<。,<=,GT,GT; =或子查询用作表达式时,"{ BR}
我需要一个代码来创建一个数组。