USP_DATALIST_RELATIONSHIPS_GROUPTOGROUP
List of relationships between a constituent group and other constituent groups.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@ONLYCURRENT | bit | IN | Only display current relationships |
@RECIPROCALTYPECODEID | uniqueidentifier | IN | Relationship type |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_RELATIONSHIPS_GROUPTOGROUP
(
@CONSTITUENTID uniqueidentifier,
@ONLYCURRENT bit = 0,
@RECIPROCALTYPECODEID uniqueidentifier = null
) as
set nocount on;
declare @CURRENTDATE datetime
if @ONLYCURRENT = 1
set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
select
R.ID,
R.RECIPROCALCONSTITUENTID,
(select DESCRIPTION from dbo.RELATIONSHIPTYPECODE where ID = R.RECIPROCALTYPECODEID) as RELATIONSHIP,
(
C.NAME + ' ' +
coalesce(
replace(
stuff(
(select '' + STATUS from
(select ',(Deceased)' STATUS
from dbo.DECEASEDCONSTITUENT DC
where DC.ID = C.ID
union all
select ',(Inactive)' STATUS
from dbo.CONSTITUENT
where CONSTITUENT.ID = C.ID
and CONSTITUENT.ISINACTIVE=1
) as SUBQ for xml path(''))
,1,1,'')
, '),(', ', ')
,'')
) as NAME,
R.STARTDATE,
R.ENDDATE,
C.ISGROUP,
case when GD.GROUPTYPECODE = 0 then 1 else 0 end
from
dbo.RELATIONSHIP R
inner join
dbo.CONSTITUENT C on R.RECIPROCALCONSTITUENTID = C.ID
left outer join
dbo.GROUPDATA GD on GD.ID = C.ID
where
R.RELATIONSHIPCONSTITUENTID = @CONSTITUENTID
and
C.ISGROUP = 1
and (@CURRENTDATE is null
or R.STARTDATE is null
or R.STARTDATE <= @CURRENTDATE
)
and (@CURRENTDATE is null
or R.ENDDATE is null
or R.ENDDATE >= @CURRENTDATE
)
and (@RECIPROCALTYPECODEID is null
or R.RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID
)
order by
RELATIONSHIP, C.KEYNAME