UFN_MEMBERSHIP_LATESTTRANSACTIONASOF_BULK

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ASOF date IN

Definition

Copy


CREATE function dbo.UFN_MEMBERSHIP_LATESTTRANSACTIONASOF_BULK(
    @ASOF date = null
)
returns table
as return (

    select
        ID,
        MEMBERSHIPID,
        MEMBERSHIPLEVELID,
        MEMBERSHIPLEVELTERMID,
        MEMBERSHIPLEVELTYPECODEID,
        TRANSACTIONDATE,
        EXPIRATIONDATE,
        REVENUESPLITID,
        ISGIFT,
        DONORID,
        NUMBEROFCHILDREN,
        COMMENTS,
        ACTIONCODE,
        MEMBERSHIPPROMOID,
        ACTION
    from (
        select
            row_number() over (partition by MT.MEMBERSHIPID order by MT.TRANSACTIONDATE desc, MT.DATEADDED desc, MT.EXPIRATIONDATE desc) as ROWNUM,
            MT.ID,
            MT.MEMBERSHIPID,
            MT.MEMBERSHIPLEVELID,
            MT.MEMBERSHIPLEVELTERMID,
            MT.MEMBERSHIPLEVELTYPECODEID,
            MT.TRANSACTIONDATE,
            MT.EXPIRATIONDATE,
            MT.REVENUESPLITID,
            MT.ISGIFT,
            MT.DONORID,
            MT.NUMBEROFCHILDREN,
            MT.COMMENTS,
            MT.ACTIONCODE,
            MT.MEMBERSHIPPROMOID,
            MT.ACTION
        from dbo.MEMBERSHIPTRANSACTION MT
        where (@ASOF is null or convert(date, MT.TRANSACTIONDATE) <= @ASOF)
    ) MT
    where MT.ROWNUM = 1

)