USP_RE7CONSTITUENTSEARCH

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID nvarchar(100) IN
@KEYNAME nvarchar(100) IN
@FIRSTNAME nvarchar(50) IN
@EMAILADDRESS nvarchar(100) IN
@CITY nvarchar(50) IN
@STATE int IN
@POSTCODE nvarchar(12) IN
@SYSTEMRECORDID int IN
@ADDRESSLINES nvarchar(100) IN
@CLASSOF int IN
@MAXROWS smallint IN
@CONSTITUENTONLY bit IN

Definition

Copy


      create procedure dbo.USP_RE7CONSTITUENTSEARCH
      (
      @CONSTITUENTID nvarchar(100) = null,
      @KEYNAME nvarchar(100) = null,
      @FIRSTNAME nvarchar(50) = null,
      @EMAILADDRESS nvarchar(100) = null,
      @CITY nvarchar(50) = null,
      @STATE int = null,
      @POSTCODE nvarchar(12) = null,
      @SYSTEMRECORDID int = null,
      @ADDRESSLINES nvarchar(100) = null,
      @CLASSOF int = null,
      @MAXROWS smallint = 0,
      @CONSTITUENTONLY bit = 1
      )
      as
      set nocount on;

      if @CONSTITUENTID is not null
        set @CONSTITUENTID = '%' + isnull(@CONSTITUENTID, '') + '%';

      if @KEYNAME is not null
        set @KEYNAME = '%' + isnull(@KEYNAME, '') + '%';

      if @FIRSTNAME is not null
        set @FIRSTNAME = '%' + isnull(@FIRSTNAME, '') + '%';

      if @EMAILADDRESS is not null
        set @EMAILADDRESS = '%' + isnull(@EMAILADDRESS, '') + '%';

      if @CITY is not null
        set @CITY = '%' + isnull(@CITY, '') + '%';

      if @POSTCODE is not null
        set @POSTCODE = '%' + isnull(@POSTCODE, '') + '%';

      if @ADDRESSLINES is not null
        set @ADDRESSLINES = '%' + isnull(@ADDRESSLINES, '') + '%';

      set @CONSTITUENTONLY = isnull(@CONSTITUENTONLY, 1);

      select distinct top (@MAXROWS)
      [C].[LOCALID] [ID],
      [C].[FULLNAME],
      [C].[LOOKUPID] [CONSTITUENTID],
      [C].[KEYNAME],
      [C].[FIRSTNAME],
      [CD].[EMAILADDRESS],
      [A].[CITY],
      [S].[DESCRIPTION] [STATE],
      [A].[POSTCODE],
      [C].[MIDDLENAME]
      from dbo.[RE7_CONSTITUENT] as [C]
      left outer join dbo.[RE7_CONSTITUENTPREFERRED] as [CD] on [C].[LOCALID] = [CD].[LOCALID]
      left outer join dbo.[RE7_ADDRESS] as [A] on [CD].[PREFERREDADDRESS_LOCALID] = [A].[LOCALID]
      left outer join dbo.[RE7_STATE] as [S] on [A].[STATE_LOCALID] = [S].[LOCALID] 
      left outer join dbo.[RE7_CONSTITUENTEDUCATION] [CE] on [C].[LOCALID] = [CE].[CONSTITUENT_LOCALID]

      where
      (@CONSTITUENTONLY = 0 or ([C].[ISCONSTITUENT] = @CONSTITUENTONLY))
      and
      (@CONSTITUENTID is null or ([C].[LOOKUPID] like @CONSTITUENTID))
      and
      (@KEYNAME is null or ([C].[KEYNAME] like @KEYNAME))
      and
      (@FIRSTNAME is null or ([C].[FIRSTNAME] like @FIRSTNAME))
      and
      (@EMAILADDRESS is null or ([CD].[EMAILADDRESS] like @EMAILADDRESS))
      and
      (@CITY is null or ([A].[CITY] like @CITY))
      and
      (@STATE is null or ([S].[LOCALID] = @STATE))
      and
      (@POSTCODE is null or ([A].[POSTCODE] like @POSTCODE))
      and
      (@SYSTEMRECORDID is null or ([C].[LOCALID] = @SYSTEMRECORDID))
      and
      (@ADDRESSLINES is null or 
        (
           ([A].[ADDRESSLINE1] like @ADDRESSLINES)
        or ([A].[ADDRESSLINE2] like @ADDRESSLINES)
        or ([A].[ADDRESSLINE3] like @ADDRESSLINES)
        or ([A].[ADDRESSLINE4] like @ADDRESSLINES)
        or ([A].[ADDRESSLINE5] like @ADDRESSLINES)
        )
      )
      and
      (@CLASSOF is null or ([CE].[CLASSOF] = @CLASSOF))
      order by [C].[KEYNAME], [C].[FIRSTNAME], [C].[MIDDLENAME];

      return 0;