在'FROM'附近获取不正确的语法,不知道为什么..在函数之外这个代码工作正常(前提是我将RETURN更改为SELECT)并给出了所有信用的总和,它是一个浮点数。知道问题是什么吗?
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
答案 0 :(得分: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
答案 1 :(得分: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