1

在'FROM'附近得到不正确的语法,不知道为什么......在函数之外,这段代码工作正常(假设我将返回更改为选择)并给我所有积分的总和,这是一个浮点数。知道问题是什么吗?

CREATE FUNCTION [dbo].[getCredits] (@StudentID nchar(10))
RETURNS float
AS
BEGIN
    RETURN sum(credits)
    FROM kurser c
    INNER JOIN student_reg_kurstillfällen ci
    ON ci.kurser = c.coursecode
    WHERE ci.avslutad_kurs = 1 and StudentID = @StudentID
END
4

2 回答 2

1

你正在做一个RETURN sum(credits) FROM无效的。

旁注:如果 StudentId 是整数,请将您的参数数据类型更改为 int 或酌情更改。

CREATE FUNCTION [dbo].[getCredits] (@StudentID nchar(10))
RETURNS float
AS
BEGIN
    DECLARE @RetVal float 

    SELECT @RetVal = sum(credits)
    FROM kurser c
    INNER JOIN student_reg_kurstillfällen ci
    ON ci.kurser = c.coursecode
    WHERE ci.avslutad_kurs = 1 and StudentID = @StudentID

    RETURN @RetVal
END
于 2013-10-25T13:02:42.627 回答
1
CREATE FUNCTION [dbo].[getCredits] (@StudentID nchar(10))
RETURNS float
AS
BEGIN
    RETURN
    ( 
    SELECT sum(credits)
    FROM kurser c
    INNER JOIN student_reg_kurstillfällen ci
    ON ci.kurser = c.coursecode
    WHERE ci.avslutad_kurs = 1 and StudentID = @StudentID
    )
END
于 2013-10-25T13:06:45.650 回答