我想获得pointsEarned
列的总和和pointsPossible
列的总和。我想把它变成一个百分比。我的问题是,我的SP总是返回0,即使在有给定enrollmentId
的行具有先前列的值时也是如此。为什么我的存储过程返回0?
我在做什么错?
ALTER PROCEDURE GetPercentage
@enrollmentId int
AS
BEGIN
DECLARE @pointsEarned int;
DECLARE @pointsPossible int;
SET NOCOUNT ON;
SELECT
@pointsEarned = CAST(SUM(pointsEarned) OVER() AS decimal),
@pointsPossible = CAST(SUM(pointsPossible) OVER() AS decimal)
FROM
Assignments
WHERE
enrollmentId = @enrollmentId
RETURN @pointsEarned/@pointsPossible
END
GO
这是数据库表:
我执行存储过程和在69的enrollmentId
传递,它仍然返回0
我会摆脱回报,并用SELECT – JVM
取代它显示你的'exec'脚本 –
为什么你会摆脱回报,代之以一个' select'?它不能解决问题并完全改变SP的使用。 –