USP_EVENTSEATING_GROUPSNOTSEATEDTOGETHER
Returns members of event groups that are not seated together.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_EVENTSEATING_GROUPSNOTSEATEDTOGETHER
(
@EVENTID uniqueidentifier,
@REPORTUSERID nvarchar(128) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as caller
as
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@REPORTUSERID, @ALTREPORTUSERID);
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
select
dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) as REGISTRANTNAME,
EVENTGROUP.NAME as EVENTGROUPNAME,
dbo.UFN_EVENTSEATING_GETREGISTRANTSEATPATH(REGISTRANT.ID) as SEATPATH
from
dbo.REGISTRANT
inner join dbo.EVENTGROUPMEMBER on EVENTGROUPMEMBER.REGISTRANTID = REGISTRANT.ID
inner join dbo.EVENTGROUP on EVENTGROUP.ID = EVENTGROUPMEMBER.EVENTGROUPID
inner join (select
EVENTGROUPMEMBER.EVENTGROUPID as EVENTGROUPID
from
dbo.EVENTGROUPMEMBER
inner join dbo.EVENTSEATINGSEAT on EVENTSEATINGSEAT.REGISTRANTID = EVENTGROUPMEMBER.REGISTRANTID
group by
EVENTGROUPMEMBER.EVENTGROUPID, EVENTSEATINGSEAT.EVENTSEATINGSUBSECTIONID
) as EVENTGROUPSUBSECTIONS on EVENTGROUPSUBSECTIONS.EVENTGROUPID = EVENTGROUPMEMBER.EVENTGROUPID
where
EVENTGROUP.EVENTID = @EVENTID and
dbo.UFN_EVENTSEATING_GETREGISTRANTSEATPATH(REGISTRANT.ID) <> ''
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REGISTRANT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
group by
EVENTGROUPSUBSECTIONS.EVENTGROUPID, REGISTRANT.ID, REGISTRANT.CONSTITUENTID, REGISTRANT.GUESTOFREGISTRANTID, EVENTGROUP.NAME
having
count(EVENTGROUPSUBSECTIONS.EVENTGROUPID)>1
order by
2;