UFN_PLANCOUNTBYFUNDRAISER

Returns the number of plans (prospect and grant) each fundraiser is managing.

Return

Return Type
table

Definition

Copy


            CREATE function dbo.UFN_PLANCOUNTBYFUNDRAISER()
            returns table
            as return
                with INCLUDEGRANTS_CTE as (
                    select top 1
                        INCLUDEGRANTS
                    from dbo.MAJORGIVINGCONFIGURATION
                )
                select
                    PLANSBYFUNDRAISER.FUNDRAISERID ID,
                    count(PLANSBYFUNDRAISER.PLANID) COUNT
                from
                    (select
                        PRIMARYMANAGERFUNDRAISERID FUNDRAISERID,
                        ID PLANID
                    from dbo.PROSPECTPLAN
                    where dbo.UFN_CONSTITUENT_ISFUNDRAISER(PRIMARYMANAGERFUNDRAISERID) = 1 
                        and dbo.UFN_CONSTITUENT_ISPROSPECT(PROSPECTID) = 1

                    union all

                    select
                        FUNDINGREQUEST.PRIMARYMANAGERID FUNDRAISERID,
                        FUNDINGREQUEST.ID PLANID
                    from dbo.FUNDINGREQUEST
                    cross join INCLUDEGRANTS_CTE
                    where dbo.UFN_CONSTITUENT_ISFUNDRAISER(FUNDINGREQUEST.PRIMARYMANAGERID) = 1 
                        and INCLUDEGRANTS_CTE.INCLUDEGRANTS = 1
                    ) PLANSBYFUNDRAISER
                group by
                    PLANSBYFUNDRAISER.FUNDRAISERID;