USP_DATALIST_FAFNFGCAMPAIGNLEVEL

Parameters

Parameter Parameter Type Mode Description
@NFGCAMPAIGNID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_FAFNFGCAMPAIGNLEVEL(@NFGCAMPAIGNID uniqueidentifier)
as
    set nocount on;

    select FNCL.ID,
           FNCL.NAME,
           (select PARENTSITE.ID from dbo.FAFNFGCAMPAIGNLEVEL as PARENTSITE where PARENTSITE.HIERARCHYPATH = FNCL.HIERARCHYPATH.GetAncestor(1)) as PARENTID,
       C.NAME AS CONTACTNAME,
       isnull(VL.TOTALRAISED, 0) AS TOTALRAISED,
       FNCL.TOTALREVENUEGOAL,
       CASE
              WHEN (select count(*) from  FAFNFGCAMPAIGNLEVELDISPLAYSITE Where FAFNFGCAMPAIGNLEVELDISPLAYSITE.NFGCAMPAIGNLEVELID = FNCL.ID) < 4
                    THEN
                        COALESCE((select dbo.UDA_BUILDLIST(SITE.NAME) FROM dbo.SITE inner join dbo.FAFNFGCAMPAIGNLEVELDISPLAYSITE ON FAFNFGCAMPAIGNLEVELDISPLAYSITE.SITEID = SITE.ID Where FAFNFGCAMPAIGNLEVELDISPLAYSITE.NFGCAMPAIGNLEVELID = FNCL.ID),'')
              WHEN (select count(*) from  FAFNFGCAMPAIGNLEVELDISPLAYSITE Where FAFNFGCAMPAIGNLEVELDISPLAYSITE.NFGCAMPAIGNLEVELID = FNCL.ID) = 4
                    THEN
                        COALESCE((select dbo.UDA_BUILDLISTWITHDELIMITER(FNFGLS.NAME,',') FROM (select top 3 SITE.NAME from dbo.SITE inner join dbo.FAFNFGCAMPAIGNLEVELDISPLAYSITE ON FAFNFGCAMPAIGNLEVELDISPLAYSITE.SITEID = SITE.ID Where FAFNFGCAMPAIGNLEVELDISPLAYSITE.NFGCAMPAIGNLEVELID = FNCL.ID) FNFGLS) ,'') +', and 1 other'
            ELSE
                  COALESCE((select dbo.UDA_BUILDLISTWITHDELIMITER(FNFGLS.NAME,',') FROM (select top 3 SITE.NAME from dbo.SITE inner join dbo.FAFNFGCAMPAIGNLEVELDISPLAYSITE ON FAFNFGCAMPAIGNLEVELDISPLAYSITE.SITEID = SITE.ID Where FAFNFGCAMPAIGNLEVELDISPLAYSITE.NFGCAMPAIGNLEVELID = FNCL.ID) FNFGLS) ,'') +', and ' + convert(varchar(100),(select COUNT(*)-3 from FAFNFGCAMPAIGNLEVELDISPLAYSITE where NFGCAMPAIGNLEVELID = FNCL.ID)) +' others'
      END AS SITE
    from dbo.FAFNFGCAMPAIGNLEVEL FNCL
  LEFT JOIN dbo.CONSTITUENT C on C.ID = FNCL.CONTACTID
  left join dbo.V_NFGLEVEL_SUMMARYINFO VL (nolock) on FNCL.ID = VL.ID 
    where FNCL.NFGCAMPAIGNID = @NFGCAMPAIGNID and FNCL.HIERARCHYPATH.GetLevel()> 1
  order by FNCL.HIERARCHYPATH;