Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     DECLARE @SavedHtmlNameAOId INT = 72;
  2.     DECLARE @ActionOption_CustomQualifier TABLE
  3.     (
  4.         AO_Id int,
  5.         CQ_Map varchar(max)
  6.     );
  7.  
  8.     INSERT INTO
  9.         @ActionOption_CustomQualifier
  10.     SELECT
  11.         AO.Id, CQ.Map FROM ActionOption AO
  12.     LEFT JOIN
  13.         CustomQualifier CQ
  14.             ON CQ.ActionOptionId = AO.ActionOptionParentId;
  15.  
  16.     SELECT
  17.         A.Description, A.Name, A.[Order],
  18.         AT.id AS 'ActionTypeId',
  19.         (
  20.         SELECT
  21.         CriteriaInstanceNumber,
  22.  
  23.         CASE WHEN AOV.ActionOptionId = @SavedHtmlNameAOId AND ISNUMERIC(AOV.Value) = 1 THEN
  24.             (SELECT TOP 1 Name FROM Template t WHERE t.id = CONVERT(INT, AOV.[Value])) + '_saved'
  25.         ELSE
  26.             AOV.Value
  27.         END AS 'Value',
  28.  
  29.         CASE WHEN (SELECT CQ_MAP FROM @ActionOption_CustomQualifier WHERE AO_Id = AO.id) IS NULL THEN
  30.             AO.id
  31.         ELSE
  32.             (SELECT TOP 1
  33.                 id
  34.             FROM
  35.                 ActionOption
  36.             WHERE
  37.                 Name COLLATE DATABASE_DEFAULT =
  38.                     (
  39.                     SELECT [Key]
  40.                     FROM OPENJSON((
  41.                         SELECT
  42.                             CQ_MAP
  43.                         FROM
  44.                             @ActionOption_CustomQualifier
  45.                         WHERE
  46.                             AO_Id = AO.id
  47.                         ), '$')
  48.                     WHERE
  49.                         Value = AO.Name
  50.                     ) COLLATE DATABASE_DEFAULT
  51.             )
  52.         END AS 'ActionOptionId',
  53.  
  54.         CASE WHEN (SELECT CQ_MAP FROM @ActionOption_CustomQualifier WHERE AO_Id = AO.id) IS NULL THEN
  55.             CAST(0 AS BIT)
  56.         ELSE
  57.             CAST(1 AS BIT)
  58.         END AS 'IsCustom'
  59.        
  60.         FROM
  61.             dbo.ActionOptionValue AOV
  62.         LEFT JOIN
  63.             dbo.ActionOption AO
  64.                 ON AOV.ActionOptionId = AO.id
  65.         WHERE A.id = AOV.ActionId
  66.         FOR JSON PATH, INCLUDE_NULL_VALUES
  67.         ) AS 'ActionOptionValues'
  68.     FROM
  69.         Action A
  70.     LEFT JOIN
  71.         ActionType AT
  72.             ON A.ActionTypeId = AT.id
  73.     WHERE
  74.         A.id IN (
  75.         SELECT
  76.             CONVERT(INT, value)
  77.         FROM
  78.             STRING_SPLIT(@Ids, ',')
  79.             )
  80.     FOR JSON PATH, ROOT('Actions'), INCLUDE_NULL_VALUES;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement