UFN_MKTMARKETINGPLANITEM_PATH_BULK
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MARKETINGPLANITEMID | uniqueidentifier | IN | |
@RETURNFULLPATH | bit | IN |
Definition
Copy
create function dbo.[UFN_MKTMARKETINGPLANITEM_PATH_BULK]
(
@MARKETINGPLANITEMID uniqueidentifier,
@RETURNFULLPATH bit
)
returns table
as
return (
with [PLANPATH_CTE1] as (
select
[ID],
[PARENTMARKETINGPLANITEMID],
isnull([NAME], '') as [PATH]
from
dbo.[MKTMARKETINGPLANITEM]
where (
(@RETURNFULLPATH = 0 and [MKTMARKETINGPLANITEM].[ID] = (select [PARENTMARKETINGPLANITEMID] from dbo.[MKTMARKETINGPLANITEM] where [ID] = @MARKETINGPLANITEMID))
or
(@RETURNFULLPATH = 1 and [MKTMARKETINGPLANITEM].[ID] = @MARKETINGPLANITEMID)
)
),
[PLANPATH_CTE2] as (
select
[PLANPATH_CTE1].[ID],
[MKTMARKETINGPLANITEM].[PARENTMARKETINGPLANITEMID],
isnull([MKTMARKETINGPLANITEM].[NAME] + ' \ ', '') + [PLANPATH_CTE1].[PATH] as [PATH]
from
[PLANPATH_CTE1]
left join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = [PLANPATH_CTE1].[PARENTMARKETINGPLANITEMID]
),
[PLANPATH_CTE3] as (
select
[PLANPATH_CTE2].[ID],
[MKTMARKETINGPLANITEM].[PARENTMARKETINGPLANITEMID],
isnull([MKTMARKETINGPLANITEM].[NAME] + ' \ ', '') + [PLANPATH_CTE2].[PATH] as [PATH]
from
[PLANPATH_CTE2]
left join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = [PLANPATH_CTE2].[PARENTMARKETINGPLANITEMID]
),
[PLANPATH_CTE4] as (
select
[PLANPATH_CTE3].[ID],
[MKTMARKETINGPLANITEM].[PARENTMARKETINGPLANITEMID],
isnull([MKTMARKETINGPLANITEM].[NAME] + ' \ ', '') + [PLANPATH_CTE3].[PATH] as [PATH]
from
[PLANPATH_CTE3]
left join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = [PLANPATH_CTE3].[PARENTMARKETINGPLANITEMID]
)
select
isnull([MKTMARKETINGPLANITEM].[NAME] + ' \ ', '') + [PLANPATH_CTE4].[PATH] as [PATH]
from
[PLANPATH_CTE4]
left join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = [PLANPATH_CTE4].[PARENTMARKETINGPLANITEMID]
);