Возможно, вы забыли сослаться на вторую таблицу, используя созданные вами псевдонимы:
я есть две таблицы под названиемСотрудники а такжеSalarygroup, PersonalID является первичным ключомСотрудники а такжеSalaryID является первичным ключом Salarygroup. Внутри таблицы Employees есть еще одна строкаStartDat, который имеет тип данных date и отслеживает дату, когда сотрудник начал работать в компании. Кроме того,AmountInEuros это зарплата, которую сотрудник получает каждый месяц и имеет числовой тип данных
Мне нужно создать функцию, которая подсчитывает общую сумму денег, которую сотрудник получил так далеко от компании, но когда я ввожу PersonalID, я получаю сообщение об ошибке: * Имя корреляции 'Salarygroup' не найдено.
Может ли кто-нибудь, черт побери, понять, почему это происходит?
ALTER FUNCTION "dba"."countTotalAmountOfMoney"(@PersonalID int)
RETURNS int
AS
BEGIN
DECLARE @totalAmountOfMoney int;
SELECT @totalAmountOfMoney = g.AmountInEuros * DATEDIFF(month, g.StartDat,
'2019-01-16')
FROM dba.Employees
Inner Join dba.Salarygroup s
ON dba.Employees.SalaryId = dba.Salarygroup.SalaryId
RETURN @totalAmountOfMoney;
END