USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTMEMBERSHIPOTHERMEMBERSHIPS

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@OTHERMEMBERSHIPS xml INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTMEMBERSHIPOTHERMEMBERSHIPS
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @OTHERMEMBERSHIPS xml = null output

as
    set nocount on;
  set @DATALOADED = 1

       declare @CONSTITUENTID uniqueidentifier = (select CONSTITUENTID from dbo.MEMBER where MEMBER.MEMBERSHIPID = @ID and ISPRIMARY = 1 and ISDROPPED = 0)

       set @OTHERMEMBERSHIPS =
            (
                select top 3
                    MS.ID as MEMBERSHIPID,
                    MP.NAME as PROGRAMNAME,
                    MS.STATUS as STATUS,
                    count(*) over(partition by M.CONSTITUENTID) as OTHER_MEMBERSHIPS_CNT
                from dbo.MEMBERSHIP MS
                inner join dbo.MEMBERSHIPPROGRAM MP on MS.MEMBERSHIPPROGRAMID = MP.ID
                inner join dbo.MEMBER M on M.MEMBERSHIPID = MS.ID AND M.ISDROPPED = 0
                inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MS.ID and PRIMARYMEMBER.ISPRIMARY = 1
                where
                    M.CONSTITUENTID = @CONSTITUENTID and
                    MS.ID <> @ID
                order by MS.DATEADDED
        for xml raw('ITEM'),type,elements,root('OTHERMEMBERSHIPS'),binary base64)

    return 0;