79115845

Date: 2024-10-22 21:52:45
Score: 0.5
Natty:
Report link

Found a solution.

I moved the CROSS APPLY to a subquery:

CREATE FUNCTION [dbo].[fnTAGS](@STARTDATE DATETIME, @ENDDATE DATETIME)
RETURNS TABLE
AS
RETURN
(
    WITH T AS (
        SELECT DISTINCT tags as TAGS_LIST, TRIM(' "[]' from value) as TAG
        FROM DB.dbo.Source
        CROSS APPLY
            STRING_SPLIT(tags, ',')
    )
    SELECT T.TAGS_LIST AS TAGS_LIST, T.TAG AS TAG
    FROM T, DB.dbo.Source
    WHERE
        DB.dbo.Source.[creation_date] >= @STARTDATE AND
        DB.dbo.Source.[creation_date] <= @ENDDATE
);
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: user27938522