Я немного новичок, когда дело доходит до SQL Server, и у меня возникают проблемы с выяснением, как создавать функции.
Я пытаюсь сделать этот выбор на основе ввода int пользователя.Этот ввод будет происходить из числа 8 в a.ID_Aluno = 8
SELECT
a.ID_ALUNO, b.ID_ALUNO, b.ID_Registo, c.ID_Registo, c.Classificacao
FROM
Aluno a, Registo b, Avaliação c
WHERE
a.ID_Aluno = 8
AND b.ID_Aluno = a.ID_Aluno
AND b.ID_Registo = c.ID_Registo
Мне нужно, чтобы этот номер (в данном случае его 8) был предоставлен пользователем
Это был мойнеудачная попытка:
ALTER FUNCTION CalculaMedia
(@input INT)
RETURNS INT
AS
BEGIN
DECLARE @ALUNO INT
DECLARE @MEDIA FLOAT
SET @ALUNO = @input
SET @MEDIA = (SELECT SUM(c.Classificacao * d.Valor_Componente) / COUNT(c.Classificacao)
FROM Aluno a, Registo b, Avaliação c, Componente d
WHERE a.ID_Aluno = @ALUNO
AND b.ID_Aluno = a.ID_Aluno
AND b.ID_Registo = c.ID_Registo
AND c.ID_Componente = d.ID_Componente)
RETURN @MEDIA
END