UFN_GROUP_GETGROUPANDMEMBERS_ONELEVELDEEP
Returns a group and its members one level deep
Return
| Return Type |
|---|
| table |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @GROUPID | uniqueidentifier | IN | |
| @INCLUDEPREVIOUS | bit | IN |
Definition
Copy
/* This function is purposefully not recursive it only returns group members and */
CREATE FUNCTION dbo.UFN_GROUP_GETGROUPANDMEMBERS_ONELEVELDEEP(@GROUPID uniqueidentifier, @INCLUDEPREVIOUS bit) returns TABLE
as
return
( with GROUPMEMBERS_CTE as
(select
GROUPMEMBER.ID,
GROUPMEMBER.MEMBERID
from GROUPMEMBER
where GROUPID = @GROUPID
and (@INCLUDEPREVIOUS = 1 or dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GROUPMEMBER.ID) = 1)
)
select *
from GROUPMEMBERS_CTE
union
select
GROUPMEMBER.ID,
GROUPMEMBER.MEMBERID
from GROUPMEMBERS_CTE
inner join GROUPMEMBER
on GROUPMEMBERS_CTE.MEMBERID = GROUPMEMBER.GROUPID
where (@INCLUDEPREVIOUS = 1 or dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GROUPMEMBER.ID) = 1)
union
select null, @GROUPID
)