1

Getting incorrect syntax near 'FROM', not sure why.. outside of a function this code works fine (provided I change RETURN to SELECT) and gives me the sum of all credits which is a float. Any idea what the problem is?

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

2 Answers 2

1

You are doing a RETURN sum(credits) FROM which is invalid.

Side note: If StudentId is an integer please change your parameter datatype as int or as appropriate.

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
Sign up to request clarification or add additional context in comments.

Comments

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.