USP_BBDW_FACT_MARKETINGCONSTITUENT_LOAD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@OPENWINDOW | datetime | IN | |
@CLOSEWINDOW | datetime | IN |
Definition
Copy
create procedure dbo.[USP_BBDW_FACT_MARKETINGCONSTITUENT_LOAD](
@OPENWINDOW datetime,
@CLOSEWINDOW datetime
) as
set nocount on;
select
cs.[MARKETINGCONSTITUENTID] as [MARKETINGCONSTITUENTFACTID],
ss.[SEGMENTATIONID] as [SEGMENTATIONSYSTEMID],
cs.[CONSTITUENTID] as [CONSTITUENTSYSTEMID],
cs.[SEGMENTID] as [MKTSEGMENTATIONSEGMENTSYSTEMID],
coalesce(cs.[TESTSEGMENTID], '00000000-0000-0000-0000-000000000000') as [MKTSEGMENTATIONTESTSEGMENTSYSTEMID],
isnull(cs.[SOURCECODEMAPID], '00000000-0000-0000-0000-000000000000') as [MARKETINGSOURCECODESYSTEMID],
cs.[FINDERNUMBER]
from dbo.[CONSTITUENTSEGMENT] cs
inner join dbo.[MKTSEGMENTATIONSEGMENT] ss on cs.[SEGMENTID] = ss.[ID]
--Updated Appeal
inner join dbo.[MKTSEGMENTATIONACTIVATE] sactivate on ss.[SEGMENTATIONID] = sactivate.[SEGMENTATIONID]
--Updated Costs
inner join dbo.[MKTSEGMENTATIONACTIVE] sactive on ss.[SEGMENTATIONID] = sactive.[ID]
inner join dbo.[MKTSEGMENTATIONBUDGET] b on ss.[SEGMENTATIONID] = b.[ID]
inner join (
select [MKTSEGMENTATIONPACKAGE].[SEGMENTATIONID], max([MKTSEGMENTATIONPACKAGE].[DATECHANGED]) [DATECHANGED]
from dbo.[MKTSEGMENTATIONPACKAGE]
group by [MKTSEGMENTATIONPACKAGE].[SEGMENTATIONID]
) as sp on ss.[SEGMENTATIONID] = sp.[SEGMENTATIONID]
--Updated Marketing Constituent
inner join dbo.[MKTSEGMENTATIONREFRESHPROCESS] r on ss.[SEGMENTATIONID] = r.[SEGMENTATIONID]
where
(sactivate.[DATECHANGED] > @OPENWINDOW and sactivate.[DATECHANGED] <= @CLOSEWINDOW)
or
(sactive.[DATECHANGED] > @OPENWINDOW and sactive.[DATECHANGED] <= @CLOSEWINDOW)
or
(b.[DATECHANGED]> @OPENWINDOW and b.[DATECHANGED] <= @CLOSEWINDOW)
or
(sp.[DATECHANGED] > @OPENWINDOW and sp.[DATECHANGED] <= @CLOSEWINDOW)
or
(r.[DATECHANGED] > @OPENWINDOW and r.[DATECHANGED] <= @CLOSEWINDOW)
or
exists(
select *
from dbo.[CONSTITUENTMERGEOPERATIONS] cmo
where
cmo.[TARGETID] = cs.[CONSTITUENTID]
and cmo.[DATEADDED] > @OPENWINDOW and cmo.[DATEADDED] <= @CLOSEWINDOW
);