Перечислите имена сотрудников в пределах заданного возрастного диапазона
Я должен перечислить имена сотрудников, которые попадают в данный возрастной диапазон. Я новичок в обучении использованию переменных/параметров в SQL, и мне трудно получить результат.
Я не знаю, как установить переменную, чтобы пользователь мог ввести возрастной диапазон, а затем получить имена сотрудников, которые попадают в этот диапазон.
Я получаю эту ошибку, когда запускаю этот запрос
Неправильный синтаксис рядом с ключевым словом "with". Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, то предыдущий оператор должен заканчиваться точкой с запятой.
Msg 102, Уровень 15, Состояние 1, Линия 72
Что я уже пробовал:
Declare @AgeRange int Set @AgeRange = DATEDIFF(YEAR, '1946-06-08', GETDATE()) WITH AgeData as ( SELECT FirstName, LastName, DateOfBirth, DATEDIFF(YEAR, DateOfBirth, GETDATE()) AS AGE FROM ptWMember as wm JOIN ptWorkingCertification as wc on wc.PK = wm.fkptWCertification ), GroupAge AS ( SELECT FirstName, LastName, DateOfBirth, Age, CASE WHEN @AgeRange < 30 THEN 'Under 30' WHEN @AgeRange BETWEEN 31 AND 40 THEN '31 - 40' WHEN @AgeRange BETWEEN 41 AND 50 THEN '41 - 50' WHEN @AgeRange > 50 THEN 'Over 50' ELSE 'Invalid Birthdate' END AS [Age Groups] FROM AgeData ) SELECT FirstName, LastName FROM AgeData