V_QUERY_CONSTITUENTREGISTRANT
This provides the ability to query for a constituent's registrant records.
Fields
Field | Field Type | Null | Description |
---|---|---|---|
ID | uniqueidentifier | System record ID | |
EVENTID | uniqueidentifier | Event system ID | |
CONSTITUENTID | uniqueidentifier | yes | Constituent system ID |
REGISTRANTNAME | nvarchar(700) | yes | Name |
GUESTOFREGISTRANTID | uniqueidentifier | yes | Guest of registrant system ID |
ATTENDED | bit | Attended | |
WILLNOTATTEND | bit | Will not attend | |
EVENTSEATINGNOTE | nvarchar(250) | Seating note | |
HOSTNAME | nvarchar(700) | yes | Host name |
NOOFGUESTS | int | yes | Number of guests |
ONLINEREGISTRANT | bit | Online registrant | |
ISGUEST | int | Is guest | |
BALANCE | money | yes | Balance |
DATEADDED | datetime | Date added | |
DATECHANGED | datetime | Date changed | |
TSLONG | bigint | yes | Timestamp value |
ADDEDBY_APPLICATION | nvarchar(200) | yes | Added by application |
ADDEDBY_USERNAME | nvarchar(128) | yes | Added by user name |
CHANGEDBY_APPLICATION | nvarchar(200) | yes | Changed by application |
CHANGEDBY_USERNAME | nvarchar(128) | yes | Changed by user name |
SECTIONNAME | nvarchar(100) | yes | Section name |
SECTIONNUMBER | int | yes | Section number |
SUBSECTIONNAME | nvarchar(100) | yes | Table/row name |
SUBSECTIONNUMBER | int | yes | Table/row number |
SEATNAME | nvarchar(100) | yes | Seat name |
SEATNUMBER | int | yes | Seat number |
REGISTRANTLOOKUPID | nvarchar(100) | yes | Registrant ID |
NOTES | nvarchar(255) | Notes | |
ISCANCELLED | bit | Is canceled | |
BASECURRENCYID | uniqueidentifier | yes | Base currency ID |
ORGANIZATIONBALANCE | money | yes | Balance (organization currency) |
REGISTRANTTRAVELID | uniqueidentifier | yes | Registrant travel ID |
TYPE | varchar(15) | Type | |
STATUS | varchar(15) | Status | |
ATTENDED2 | varchar(7) | yes | Attended/No Show |
REGISTRANTLODGINGID | uniqueidentifier | yes | Registrant lodging ID |
Definition
Copy
/*
Generated by Blackbaud AppFx Platform
Date: 2/9/2018 5:32:53 PM
Assembly Version: Blackbaud.AppFx.Platform.SqlClr, Version=4.0.174.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_CONSTITUENTREGISTRANT AS
select
REGISTRANT.ID,
REGISTRANT.EVENTID,
REGISTRANT.CONSTITUENTID,
dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) as [REGISTRANTNAME],
REGISTRANT.GUESTOFREGISTRANTID,
REGISTRANT.ATTENDED,
REGISTRANT.WILLNOTATTEND,
REGISTRANT.EVENTSEATINGNOTE,
dbo.UFN_REGISTRANT_GETHOSTNAME(REGISTRANT.ID, REGISTRANT.GUESTOFREGISTRANTID) as [HOSTNAME],
coalesce((select count(GUESTS.ID) from dbo.REGISTRANT as GUESTS where GUESTS.GUESTOFREGISTRANTID = REGISTRANT.ID), 0) as NOOFGUESTS,
REGISTRANT.ONLINEREGISTRANT,
case when REGISTRANT.GUESTOFREGISTRANTID is not null then 1 else 0 end as [ISGUEST],
REGISTRANTBALANCE.BALANCE as [BALANCE],
REGISTRANT.DATEADDED,
REGISTRANT.DATECHANGED,
REGISTRANT.TSLONG,
ADDEDBY.APPLICATIONNAME as ADDEDBY_APPLICATION,
ADDEDBY.USERNAME as ADDEDBY_USERNAME,
CHANGEDBY.APPLICATIONNAME as CHANGEDBY_APPLICATION,
CHANGEDBY.USERNAME as CHANGEDBY_USERNAME,
case SEATING.SUBSECTIONTYPECODE when 2 then
SUBSECTION.NAME
else
SECTION.NAME
end as [SECTIONNAME],
SECTION.SEQUENCE [SECTIONNUMBER],
case when SEATING.SUBSECTIONTYPECODE = 2 then null else SUBSECTION.NAME end as [SUBSECTIONNAME],
case when SEATING.SUBSECTIONTYPECODE = 2 then null else SUBSECTION.SEQUENCE end as [SUBSECTIONNUMBER],
SEAT.NAME [SEATNAME],
SEAT.SEQUENCE [SEATNUMBER],
REGISTRANT.LOOKUPID [REGISTRANTLOOKUPID],
REGISTRANT.NOTES,
REGISTRANT.ISCANCELLED,
EVENT.BASECURRENCYID as [BASECURRENCYID]
/*#EXTENSION*/
, REGISTRANTBALANCE.[BALANCEINCURRENCY] as [ORGANIZATIONBALANCE],
REGISTRANTTRAVEL.ID [REGISTRANTTRAVELID],
case
when REGISTRANT.ISWALKIN = 1 then 'Walk-in'
when INVITEE.ID is not null then 'Invitation'
else 'Preregistration'
end[TYPE],
case
when INVITEE.DECLINED = 1 AND REGISTRANT.ID is null then 'Declined'
when REGISTRANT.ISCANCELLED = 1 then 'Canceled'
when REGISTRANT.WILLNOTATTEND = 1 then 'Will not attend'
else 'Registered'
end as [STATUS],
case
when REGISTRANT.ATTENDED = 1 then 'Yes'
when REGISTRANT.ISCANCELLED = 1 or REGISTRANT.WILLNOTATTEND = 1 then 'No'
when EVENT.ISPROCESSED = 1 or REGISTRANT.USERMARKEDATTENDANCE = 1 and REGISTRANT.ATTENDED = 0 then 'No-show'
end [ATTENDED2],
REGISTRANTLODGING.ID REGISTRANTLODGINGID
from
dbo.REGISTRANT
left join dbo.UFN_EVENTREGISTRANT_GETBALANCEINCURRENCY_BULK(null) as REGISTRANTBALANCE on REGISTRANT.ID = REGISTRANTBALANCE.ID -- null indicates ORGANIZATIONCURRENCY
left join dbo.REGISTRANT GUESTOF on GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID
-- Bug 263947
outer apply (
select top 1 *
from dbo.INVITEE
where INVITEE.EVENTID = REGISTRANT.EVENTID
and coalesce(GUESTOF.CONSTITUENTID,REGISTRANT.CONSTITUENTID) = INVITEE.CONSTITUENTID
and INVITEE.INVITATIONSENTON is not null
order by INVITEE.INVITATIONSENTON desc
) as INVITEE
--left join dbo.INVITEE INVITEE on INVITEE.EVENTID = REGISTRANT.EVENTID and coalesce(GUESTOF.CONSTITUENTID,REGISTRANT.CONSTITUENTID) = INVITEE.CONSTITUENTID and INVITEE.INVITATIONSENTON is not null
--Event
inner join dbo.EVENT as EVENT on EVENT.ID = REGISTRANT.EVENTID
left join dbo.EVENTSEATINGSEAT as SEAT on REGISTRANT.ID = SEAT.REGISTRANTID
left join dbo.EVENTSEATINGSUBSECTION as SUBSECTION on SUBSECTION.ID = SEAT.EVENTSEATINGSUBSECTIONID
left join dbo.EVENTSEATINGSECTION as SECTION on SECTION.ID = SUBSECTION.EVENTSEATINGSECTIONID
left join dbo.EVENTSEATING SEATING on SEATING.ID = SECTION.EVENTSEATINGID
left join dbo.REGISTRANTTRAVEL on REGISTRANTTRAVEL.MAINEVENTID = coalesce(EVENT.MAINEVENTID, EVENT.ID) and REGISTRANTTRAVEL.REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID
left join dbo.CHANGEAGENT as ADDEDBY on ADDEDBY.ID = REGISTRANT.ADDEDBYID
left join dbo.CHANGEAGENT as CHANGEDBY on CHANGEDBY.ID = REGISTRANT.CHANGEDBYID
left join dbo.REGISTRANTLODGING on REGISTRANTLODGING.REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID and REGISTRANTLODGING.EVENTID = REGISTRANT.EVENTID