Если вы хотите получить другое имя менеджера, вам не нужно CTE
.
Вы пытаетесь вставить несколько значений в VARCHAR
тип данных
DECLARE @mgrname VARCHAR(20)
Вместо создания переменной VARCHAR
, вы должны создать переменную типа TABLE
, которая может содержать несколько значений, как показано ниже.
DECLARE @mgrname TABLE(ManagerName VARCHAR(100))
Чтобы получить определенное количество различных имен менеджера, которые вы можете использовать
SELECT DISTINCT TOP (@count)
Ваш окончательный запрос должен выглядеть следующим образом.
DECLARE @count INT
DECLARE @mgrname table (ManagerName VARCHAR(100))
SET @count = 3
INSERT INTO @mgrname
SELECT DISTINCT TOP (@count) Empmanager FROM HR
ORDER BY Empmanager
--Now output is stored inside a table variable.
SELECT * FROM @mgrname