UFN_CONSTITUENT_GETIDSFROMCRITERIA
Gets a list of constituent IDs for constituents who meet the supplied criteria.
Return
| Return Type |
|---|
| table |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @CONSTITUENTID | uniqueidentifier | IN | |
| @CONSTITUENTLOOKUPID | nvarchar(100) | IN | |
| @CONSTITUENTKEYNAME | nvarchar(50) | IN | |
| @CONSTITUENTFIRSTNAME | nvarchar(100) | IN | |
| @MAXROWS | smallint | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENT_GETIDSFROMCRITERIA(
@CONSTITUENTID as uniqueidentifier,
@CONSTITUENTLOOKUPID as nvarchar(100),
@CONSTITUENTKEYNAME as nvarchar(50),
@CONSTITUENTFIRSTNAME as nvarchar(100),
@MAXROWS smallint = 500
)
returns @MATCHINGIDS table (ID uniqueidentifier)
as
begin
if @CONSTITUENTID is not null begin
insert into @MATCHINGIDS (ID) values (@CONSTITUENTID)
end
else if @CONSTITUENTFIRSTNAME is not null and @CONSTITUENTFIRSTNAME <> '' and
@CONSTITUENTKEYNAME is not null and @CONSTITUENTKEYNAME <> '' and
@CONSTITUENTLOOKUPID is not null and @CONSTITUENTLOOKUPID <> '' begin
with LOOKUPIDS_CTE as (
select top(@MAXROWS)
C.ID ID
from
dbo.CONSTITUENT C
where
LOOKUPID = @CONSTITUENTLOOKUPID and C.KEYNAME = @CONSTITUENTKEYNAME and
C.FIRSTNAME = @CONSTITUENTFIRSTNAME and ISORGANIZATION = 0 and ISGROUP = 0
union all
select top(@MAXROWS)
C.ID
from
dbo.ALTERNATELOOKUPID AL
inner join
dbo.CONSTITUENT C on C.ID = AL.CONSTITUENTID and C.KEYNAME = @CONSTITUENTKEYNAME and
C.FIRSTNAME = @CONSTITUENTFIRSTNAME and C.ISORGANIZATION = 0 and C.ISGROUP = 0
where
AL.ALTERNATELOOKUPID = @CONSTITUENTLOOKUPID
)
insert into @MATCHINGIDS
select distinct
ID
from
LOOKUPIDS_CTE
end
else if @CONSTITUENTKEYNAME is not null and @CONSTITUENTKEYNAME <> '' and
@CONSTITUENTLOOKUPID is not null and @CONSTITUENTLOOKUPID <> '' begin
with LOOKUPIDS_CTE as (
select top(@MAXROWS)
C.ID ID
from
dbo.CONSTITUENT C
where
LOOKUPID = @CONSTITUENTLOOKUPID and C.KEYNAME = @CONSTITUENTKEYNAME and
ISORGANIZATION = 0 and ISGROUP = 0
union all
select top(@MAXROWS)
C.ID
from
dbo.ALTERNATELOOKUPID AL
inner join
dbo.CONSTITUENT C on C.ID = AL.CONSTITUENTID and C.KEYNAME = @CONSTITUENTKEYNAME and
C.ISORGANIZATION = 0 and C.ISGROUP = 0
where
AL.ALTERNATELOOKUPID = @CONSTITUENTLOOKUPID
)
insert into @MATCHINGIDS
select distinct
ID
from
LOOKUPIDS_CTE
end
else if @CONSTITUENTLOOKUPID is not null and @CONSTITUENTLOOKUPID <> '' begin
with LOOKUPIDS_CTE as (
select top(@MAXROWS)
C.ID ID
from
dbo.CONSTITUENT C
where
LOOKUPID = @CONSTITUENTLOOKUPID and
ISORGANIZATION = 0 and ISGROUP = 0
union all
select top(@MAXROWS)
C.ID
from
dbo.ALTERNATELOOKUPID AL
inner join
dbo.CONSTITUENT C on C.ID = AL.CONSTITUENTID and
C.ISORGANIZATION = 0 and C.ISGROUP = 0
where
AL.ALTERNATELOOKUPID = @CONSTITUENTLOOKUPID
)
insert into @MATCHINGIDS
select distinct
ID
from
LOOKUPIDS_CTE
end
return
end