Я хочу создать функцию, которая должна содержать CTE.
CTE работает очень хорошо.Дело в том, что я не могу вмешиваться в эту функцию.Мой CTE позволяет перечислять конфигурации в диапазоне дат
Я хотел бы знать, как поместить связь между CTE и функцией
CREATE FUNCTION dbo.ftliste_NameId
(@dateStart DATETIME,
@dateEnd DATETIME)
RETURNS TABLE
AS
RETURN
(WITH List AS
(
SELECT DISTINCT
CASE
WHEN RG.Name IS NULL
THEN R1.Id
ELSE NULL
END as Id,
RG.name
FROM
dbo.fttable_table2(@dateStart, @dateEnd) R1
LEFT JOIN
(SELECT Name
FROM dbo.fttable_table2(@dateStart, @dateEnd)
GROUP BY Name
HAVING COUNT(Name) > 5) AS RG ON R1.Name = RG.Name
)
SELECT *
FROM dbo.fttable_table1 RD
JOIN List RL ON RD.Id = RL.Id
UNION ALL
SELECT *
FROM dbo.fttable_table1 RD
JOIN List RL ON RD.name = RL.Name
GROUP BY RD.Name
Ошибки в синтаксисе
Сообщение. В каждом представлении имена столбцов или функций должны быть уникальными.Имя столбца 'Id' указывается несколько раз в представлении или функции dbo.listNameId