USP_BBNC_CONSTITMAINDATA_FOR_GIVEN_CONSTITIDS

Parameters

Parameter Parameter Type Mode Description
@IDs nvarchar(max) IN
@IncludeUnaffiliated bit IN

Definition

Copy


CREATE procedure [dbo].[USP_BBNC_CONSTITMAINDATA_FOR_GIVEN_CONSTITIDS](@IDs nvarchar(max) = '', @IncludeUnaffiliated bit = 0)
as begin

    declare @USEACADEMICCATALOG bit;
    select top 1
        @USEACADEMICCATALOG = USEACADEMICCATALOG
    from
        dbo.EDUCATIONALCONFIGURATION;

    set @USEACADEMICCATALOG = coalesce(@USEACADEMICCATALOG,0);

    declare @IDS_TABLE table (
        SEQUENCEID int,
        CONSTITUENTID uniqueidentifier
    );

    insert into
        @IDS_TABLE (SEQUENCEID)
    select
        ID
    from
        dbo.fnMakeIDsTableFromString(@IDs, ',');

    update
        @IDS_TABLE
    set
        CONSTITUENTID = C.ID
    from
        @IDS_TABLE IDT
    inner join
        dbo.CONSTITUENT C on C.SEQUENCEID = IDT.SEQUENCEID;

 --Adding CTE to better handle exclusion of unaffiliated data.  

with PRIMARYEDU_CTE as (
    select
        EH.ID as 'EduHistoryID',
        EDUCATIONALINSTITUTION.NAME,
        EH.STARTDATE,
        EH.DATELEFT,
        ACADEMICCATALOGDEGREE.NAME as 'Degree',            
        ACADEMICCATALOGPROGRAM.PROGRAM as 'Program',
        EH.CLASSOF        

    from
            @IDS_TABLE IDT
        inner join
            dbo.EDUCATIONALHISTORY EH on EH.CONSTITUENTID = IDT.CONSTITUENTID
    inner join dbo.EDUCATIONALINSTITUTION on EH.EDUCATIONALINSTITUTIONID = EDUCATIONALINSTITUTION.ID
    left join dbo.ACADEMICCATALOGPROGRAM on EH.ACADEMICCATALOGPROGRAMID = ACADEMICCATALOGPROGRAM.ID
    left join dbo.ACADEMICCATALOGDEGREE on EH.ACADEMICCATALOGDEGREEID = ACADEMICCATALOGDEGREE.ID
    left join dbo.SCHOOL on EDUCATIONALINSTITUTION.ID = SCHOOL.ID
    where
  EH.ISPRIMARYRECORD = 1
        and not SCHOOL.ID is null --A record in the school table indicates that this institution is affiliated

    and @USEACADEMICCATALOG = 1

    union all

    select
        EH.ID as 'EduHistoryID',
        EDUCATIONALINSTITUTION.NAME,
        EH.STARTDATE,
        EH.DATELEFT,  
        EDUCATIONALDEGREECODE.DESCRIPTION as 'Degree',            
        EDUCATIONALPROGRAMCODE.DESCRIPTION as 'Program',
        EH.CLASSOF
    from
            @IDS_TABLE IDT
        inner join
            dbo.EDUCATIONALHISTORY EH on EH.CONSTITUENTID = IDT.CONSTITUENTID
    inner join dbo.EDUCATIONALINSTITUTION on EH.EDUCATIONALINSTITUTIONID = EDUCATIONALINSTITUTION.ID
    left join dbo.EDUCATIONALPROGRAMCODE on EH.EDUCATIONALPROGRAMCODEID = EDUCATIONALPROGRAMCODE.ID
    left join dbo.EDUCATIONALDEGREECODE on EH.EDUCATIONALDEGREECODEID = EDUCATIONALDEGREECODE.ID
  left join dbo.SCHOOL on EDUCATIONALINSTITUTION.ID = SCHOOL.ID
    where 
        EH.ISPRIMARYRECORD = 1
    and not SCHOOL.ID is null
        and @USEACADEMICCATALOG = 0

    union all

  select
        EH.ID as 'EduHistoryID',
        EDUCATIONALINSTITUTION.NAME,
        EH.STARTDATE,
        EH.DATELEFT,  
        EDUCATIONALDEGREECODE.DESCRIPTION as 'Degree',            
        EDUCATIONALPROGRAMCODE.DESCRIPTION as 'Program',
        EH.CLASSOF
    from
            @IDS_TABLE IDT
        inner join
            dbo.EDUCATIONALHISTORY EH on EH.CONSTITUENTID = IDT.CONSTITUENTID
    inner join dbo.EDUCATIONALINSTITUTION on EH.EDUCATIONALINSTITUTIONID = EDUCATIONALINSTITUTION.ID
    left join dbo.EDUCATIONALPROGRAMCODE on EH.EDUCATIONALPROGRAMCODEID = EDUCATIONALPROGRAMCODE.ID
    left join dbo.EDUCATIONALDEGREECODE on EH.EDUCATIONALDEGREECODEID = EDUCATIONALDEGREECODE.ID
    left join dbo.SCHOOL on EDUCATIONALINSTITUTION.ID = SCHOOL.ID
    where 
        EH.ISPRIMARYRECORD = 1
        and @IncludeUnaffiliated = 1 and
        SCHOOL.ID is null and --No record in the school table indicates that this institution is *not* affiliated

        @USEACADEMICCATALOG = 0

    union all

    select
        EH.ID as 'EduHistoryID',
        EDUCATIONALINSTITUTION.NAME,
        EH.STARTDATE,
        EH.DATELEFT,  
        EDUCATIONALDEGREECODE.DESCRIPTION as 'Degree',            
        EDUCATIONALPROGRAMCODE.DESCRIPTION as 'Program',
        EH.CLASSOF
    from
            @IDS_TABLE IDT
        inner join
            dbo.EDUCATIONALHISTORY EH on EH.CONSTITUENTID = IDT.CONSTITUENTID
    inner join dbo.EDUCATIONALINSTITUTION on EH.EDUCATIONALINSTITUTIONID = EDUCATIONALINSTITUTION.ID
    left join dbo.EDUCATIONALPROGRAMCODE on EH.EDUCATIONALPROGRAMCODEID = EDUCATIONALPROGRAMCODE.ID
    left join dbo.EDUCATIONALDEGREECODE on EH.EDUCATIONALDEGREECODEID = EDUCATIONALDEGREECODE.ID
    left join dbo.SCHOOL on EDUCATIONALINSTITUTION.ID = SCHOOL.ID
    where 
        EH.ISPRIMARYRECORD = 1
        and @IncludeUnaffiliated = 1 and
        SCHOOL.ID is null and --No record in the school table indicates that this institution is *not* affiliated

        @USEACADEMICCATALOG = 1
)  
  select
  -- NOTE: DO NOT change the output column names of this select statement

  --bio

  CONSTITUENT.SEQUENCEID as ConstitSeqID,
  CONSTITUENT.LOOKUPID as ConstitLookupID,
  CONSTITUENT.FIRSTNAME as ConstitFirst,
  CONSTITUENT.MIDDLENAME as ConstitMiddle,
  CONSTITUENT.KEYNAME as ConstitLastOrg,
  CONSTITUENT.NAME as ConstitFull,
  CONSTITUENT.MAIDENNAME as ConstitMaiden,
  CONSTITUENT.NICKNAME as ConstitNickname,
  CONSTITUENT.BIRTHDATE as ConstitBirth,
  CONSTITGENDER.DESCRIPTION as ConstitGender,
  CONSTITTITLE.DESCRIPTION as ConstitTitle,
  CONSTITSUFFIX.DESCRIPTION as ConstitSuffix,
  case
    when (dbo.UFN_CONSTITUENT_GETREQUESTNOEMAIL(CONSTITUENT.SEQUENCEID) = 0)
    then 'No'
    else 'Yes'
  end as [ConstitRequestNoEmail],
  MARITALSTATUSCODE.DESCRIPTION as ConstitMaritalStatus,
  CONSTITUENT.WEBADDRESS as ConstitWebAddr,
  case
    when (CONSTITUENT.ISORGANIZATION = 1)
    then 'Organization' 
    else 'Individual'
  end as ConstitIsOrg,
  ORGCONSTITINDUSTRY.DESCRIPTION as ConstitIndustry,
  ORGCONSTIT.NUMEMPLOYEES as ConstitNumEmp,
  ORGCONSTIT.NUMSUBSIDIARIES as ConstitNumSubsid,
  case when DECEASEDCONSTITUENT.ID is null then 'no' else 'yes' end as [ConstitDeceased],
  case when DECEASEDCONSTITUENT.DECEASEDDATE is null then '00000000' else DECEASEDCONSTITUENT.DECEASEDDATE end [ConstitDeceasedDate],
  --primary address

  CONSTITCOUNTRY.DESCRIPTION as PrimaryAddrCountryLong,
  CONSTITCOUNTRY.ABBREVIATION as PrimaryAddrCountryShort,
  CONSTITADDR.ADDRESSBLOCK as PrimaryAddrBlock,
  '' as PrimaryAddrBlockLine1,
  '' as PrimaryAddrBlockLine2,
  '' as PrimaryAddrBlockLine3,
  '' as PrimaryAddrBlockLine4,
  '' as PrimaryAddrBlockLine5,
  CONSTITADDR.CITY as PrimaryAddrCity,
  case
  --TMV 04/11/2007 CR272266-040907 BBNC expects the full description for New Zealand city, GUID copied from dbo.USP_COUNTRYADDRESSFORMAT_GETDATA.

  --TMV 04/13/2007 CR272671-041207 BBNC expects the full description for United Kingdom county, GUID copied from dbo.USP_COUNTRYADDRESSFORMAT_GETDATA.

  when
  (
  CONSTITCOUNTRY.COUNTRYADDRESSFORMATID = '959809FB-8FA7-4A19-888F-9951BD9B29D3' --United Kingdom

  or
  CONSTITCOUNTRY.COUNTRYADDRESSFORMATID = 'A3B050A5-E1C8-4E1B-99AE-40E9FCADA0BC' --New Zealand

  )
  then
  CONSTITSTATE.DESCRIPTION
  else
  CONSTITSTATE.ABBREVIATION
  end as PrimaryAddrState,
  '' as PrimaryAddrNZCity,
  '' as PrimaryAddrNZSuburb,
  CONSTITADDR.POSTCODE as PrimaryAddrZip,
  CONSTITCOUNTRY.COUNTRYADDRESSFORMATID as PrimaryAddrCountryAddrFormatID,
  CONSTITREGIONCODE.[DESCRIPTION] as PrimaryAddrRegion,
  --spouse

  SPOUSETITLE.DESCRIPTION as SpouseTitle,
  SPOUSE.FIRSTNAME as SpouseFirst,
  SPOUSE.MIDDLENAME as SpouseMiddle,
  SPOUSE.KEYNAME as SpouseLast,
  SPOUSE.MAIDENNAME as SpouseMaiden,
  SPOUSESUFFIX.DESCRIPTION as SpouseSuffix,
  SPOUSE.NAME as SpouseFull,
  SPOUSEEDUHIST.CLASSOF as SpouseClassOf,
  --primary business

  BUSINESS.NAME as [PrimaryBizName],

  -- Use JOBTITLE from dbo.RelationshipJobInfo (SHL)

  JOBINFO.JOBTITLE as [PrimaryBizPosition],

  PRIMARYBIZINDUSTRY.DESCRIPTION as [PrimaryBizIndustry],
  BIZCOUNTRY.DESCRIPTION as PrimaryBizCountryLong,
  BIZCOUNTRY.ABBREVIATION as PrimaryBizCountryShort,
  BIZADDRESS.ADDRESSBLOCK as PrimaryBizAddrBlock,
  '' as PrimaryBizBlockLine1,
  ''
 as PrimaryBizBlockLine2,
  '' as PrimaryBizBlockLine3,
  '' as PrimaryBizBlockLine4,
  '' as PrimaryBizBlockLine5,
  BIZADDRESS.CITY as PrimaryBizCity,
  case
  --TMV 04/11/2007 CR272266-040907 BBNC expects the full description for New Zealand city, GUID copied from dbo.USP_COUNTRYADDRESSFORMAT_GETDATA.

  --TMV 04/13/2007 CR272671-041207 BBNC expects the full description for United Kingdom county, GUID copied from dbo.USP_COUNTRYADDRESSFORMAT_GETDATA.

  when
  (
  BIZCOUNTRY.COUNTRYADDRESSFORMATID = '959809FB-8FA7-4A19-888F-9951BD9B29D3' --United Kingdom

  or
  BIZCOUNTRY.COUNTRYADDRESSFORMATID = 'A3B050A5-E1C8-4E1B-99AE-40E9FCADA0BC' --New Zealand

  )
  then
  BIZSTATE.DESCRIPTION
  else
  BIZSTATE.ABBREVIATION
  end as PrimaryBizState,
  '' as PrimaryBizNZCity,
  '' as PrimaryBizNZSuburb,
  BIZADDRESS.POSTCODE as PrimaryBizZip,
  BIZCOUNTRY.COUNTRYADDRESSFORMATID as PrimaryBizCountryAddrFormatID,
  BIZREGIONCODE.[DESCRIPTION] as PrimaryBizRegion,
  --primary alumni

  PRIMARYEDU_CTE.NAME as PrimaryAlumniSchoolName,
  EDUCATIONALHISTORYTYPECODE.DESCRIPTION as PrimaryAlumniSchoolType,
  EDUCATIONALHISTORYSTATUSCODE.DESCRIPTION as PrimaryAlumniStatus,
  PRIMARYEDU_CTE.Degree as 'PrimaryAlumniDegree',
  PRIMARYEDU_CTE.STARTDATE as PrimaryAlumniStartDate,
  CONSTITEDUHISTORY.ENDDATE as PrimaryAlumniEndDate,
  (select top 1 MAJORCODE.DESCRIPTION from dbo.EDUCATIONALMAJOR as MAJOR inner join dbo.EDUCATIONALMAJORCODE as MAJORCODE on MAJOR.EDUCATIONALMAJORCODEID = MAJORCODE.ID where MAJOR.EDUCATIONALHISTORYID = CONSTITEDUHISTORY.ID) as PrimaryAlumniMajorAndSubjOfStudy,
  (select top 1 MAJORCODE.DESCRIPTION from dbo.EDUCATIONALMINOR as MINOR inner join dbo.EDUCATIONALMAJORCODE as MAJORCODE on MINOR.EDUCATIONALMAJORCODEID = MAJORCODE.ID where MINOR.EDUCATIONALHISTORYID = CONSTITEDUHISTORY.ID) as PrimaryAlumniMinor,
  CONSTITEDUHISTORY.GPA as PrimaryAlumniGPA,
  PRIMARYEDU_CTE.CLASSOF PrimaryAlumniClassOf,
  CONSTITEDUHISTORY.CONSTITUENCYSTATUSCODE as PrimaryAlumniUnknown,
  CONSTITEDUHISTORY.KNOWNNAME as PrimaryAlumniKnownName,
  CONSTITEDUHISTORY.FRATERNITY as PrimaryAlumniFrat,
  --not in bbec

  CONSTITTITLE2.description as ConstitTitle2,
  CONSTITSUFFIX2.description as ConstitSuffix2,
  SPOUSETITLE2.DESCRIPTION as SpouseTitle2,
  SPOUSESUFFIX2.DESCRIPTION as SpouseSuffix2,
  TARGETCODE.DESCRIPTION as [OrgINCOME],
  INCOMECODE.DESCRIPTION as [OrgTARGET],

  -- Grab the job category via the proper UFN (SHL)

  dbo.UFN_JOBCATEGORYCODE_GETDESCRIPTION(JOBINFO.JOBCATEGORYCODEID) as PrimaryBizProfession,

  '' as PrimaryAlumniCampus,
  '' as PrimaryAlumniDateGraduated,
  '' as PrimaryAlumniDepartment,
  '' as PrimaryAlumniFaculty,
  PRIMARYEDU_CTE.DATELEFT as 'DateLeft',
  PRIMARYEDU_CTE.Program,
  CONSTITEDUHISTORY.ID as 'PrimaryEducationID'

  from
        dbo.CONSTITUENT
    inner join
        @IDS_TABLE as IDs on IDs.CONSTITUENTID = CONSTITUENT.ID and CONSTITUENT.ISGROUP=0
  left join
    dbo.DEMOGRAPHIC on CONSTITUENT.ID = DEMOGRAPHIC.ID
  left join
    dbo.TARGETCODE on DEMOGRAPHIC.TARGETCODEID = TARGETCODE.ID
  left join
    dbo.INCOMECODE on DEMOGRAPHIC.INCOMECODEID = INCOMECODE.ID
  left join
  dbo.TITLECODE as CONSTITTITLE on CONSTITUENT.TITLECODEID = CONSTITTITLE.ID
  left join
  dbo.SUFFIXCODE as CONSTITSUFFIX on CONSTITUENT.SUFFIXCODEID = CONSTITSUFFIX.ID
  left join
  dbo.TITLECODE as CONSTITTITLE2 on CONSTITUENT.TITLE2CODEID = CONSTITTITLE2.ID
  left join 
  dbo.GENDERCODE as CONSTITGENDER on CONSTITUENT.GENDERCODEID = CONSTITGENDER.ID
  left join
  dbo.SUFFIXCODE as CONSTITSUFFIX2 on CONSTITUENT.SUFFIX2CODEID = CONSTITSUFFIX2.ID
  left join
  dbo.MARITALSTATUSCODE 
on CONSTITUENT.MARITALSTATUSCODEID = MARITALSTATUSCODE.ID
  left join
  dbo.DECEASEDCONSTITUENT on CONSTITUENT.ID = DECEASEDCONSTITUENT.ID
  left join
  dbo.ADDRESS as CONSTITADDR on CONSTITUENT.ID = CONSTITADDR.CONSTITUENTID and CONSTITADDR.ISPRIMARY = 1
  left join
  dbo.COUNTRY as CONSTITCOUNTRY on CONSTITADDR.COUNTRYID = CONSTITCOUNTRY.ID
  left join
  dbo.STATE as CONSTITSTATE on CONSTITADDR.STATEID = CONSTITSTATE.ID
  left join
  dbo.ADDRESSVALIDATIONUPDATE as CONSTITADDRESSVALIDATIONUPDATE on CONSTITADDRESSVALIDATIONUPDATE.ID = CONSTITADDR.ID
  left join
  dbo.REGIONCODE as CONSTITREGIONCODE on CONSTITREGIONCODE.ID = CONSTITADDRESSVALIDATIONUPDATE.REGIONCODEID
  left join
  dbo.RELATIONSHIP as SPOUSERELATION
  on
  SPOUSERELATION.RELATIONSHIPCONSTITUENTID = CONSTITUENT.ID and
  SPOUSERELATION.ISSPOUSE = 1

left join
  dbo.CONSTITUENT as SPOUSE on SPOUSERELATION.RECIPROCALCONSTITUENTID = SPOUSE.ID
  left join
  dbo.TITLECODE as SPOUSETITLE on SPOUSE.TITLECODEID = SPOUSETITLE.ID
  left join
  dbo.SUFFIXCODE as SPOUSESUFFIX on SPOUSE.SUFFIXCODEID = SPOUSESUFFIX.ID
  -- Bug # 383584 'SpouseTitle2 and Spousesuffix2 not appears in BBIS

    left join
  dbo.TITLECODE as SPOUSETITLE2 on SPOUSE.TITLE2CODEID = SPOUSETITLE2.ID
  left join
  dbo.SUFFIXCODE as SPOUSESUFFIX2 on SPOUSE.SUFFIX2CODEID = SPOUSESUFFIX2.ID
  left join
  dbo.EDUCATIONALHISTORY as SPOUSEEDUHIST on SPOUSE.ID = SPOUSEEDUHIST.CONSTITUENTID and SPOUSEEDUHIST.ISPRIMARYRECORD = 1
  left join
  dbo.RELATIONSHIP as PRIMBIZRELATION on CONSTITUENT.ISORGANIZATION = 0
  and CONSTITUENT.ID = PRIMBIZRELATION.RECIPROCALCONSTITUENTID and PRIMBIZRELATION.ISPRIMARYBUSINESS = 1
  left join
  dbo.CONSTITUENT as BUSINESS on PRIMBIZRELATION.RELATIONSHIPCONSTITUENTID = BUSINESS.ID


  -- BBIS PBI 361198 START; Hooking directory searching into Primary Employment fields (SHL) -----------------------------------------------------------------------------------


  -- Joining in RELATIONSHIPJOBINFO in order to get the correct job title (SHL)

  left join
  dbo.RELATIONSHIPJOBINFO as JOBINFO on JOBINFO.RELATIONSHIPSETID = PRIMBIZRELATION.RELATIONSHIPSETID
  -- SHL BBIS Bug 378679; Grabbing the top 1 job from RELATIONSHIPJOBINFO using the latest STARTDATE because:

  -- a) That's how it's done in CRM (see USP_DATALIST_EMPLOYMENTHISTORY)

  -- b) Because there is no unique relationship between an organization in dbo.RELATIONSHIP to its many potential jobs in RELATIONSHIPJOBINFO, multiple RELATIONSHIPJOBINFO rows will be returned which does not fly

  and 
  (select top 1 ID from dbo.RELATIONSHIPJOBINFO where RELATIONSHIPJOBINFO.RELATIONSHIPSETID = PRIMBIZRELATION.RELATIONSHIPSETID order by STARTDATE desc) = JOBINFO.ID

   -- Joining in ORGANIZATIONDATA once for constituents that are organizations as ORGCONSTIT

   left join
   dbo.ORGANIZATIONDATA as ORGCONSTIT on CONSTITUENT.ID = ORGCONSTIT.ID and CONSTITUENT.ISORGANIZATION = 1
   -- Joining in ORGANIZATIONDATA again for a constituent's primary business information as PRIMARYBIZORG

   left join
   dbo.ORGANIZATIONDATA as PRIMARYBIZORG on PRIMARYBIZORG.ID = PRIMBIZRELATION.RELATIONSHIPCONSTITUENTID

   -- Joining in INDUSTRYCODE once for constituents that are organizations as ORGCONSTITINDUSTRY

   left join
   dbo.INDUSTRYCODE as ORGCONSTITINDUSTRY on ORGCONSTIT.INDUSTRYCODEID = ORGCONSTITINDUSTRY.ID
   -- Joining in INDUSTRYCODE again for a constituent's primary business information as PRIMARYBIZINDUSTRY

   left join
   dbo.INDUSTRYCODE as PRIMARYBIZINDUSTRY on PRIMARYBIZORG.INDUSTRYCODEID = PRIMARYBIZINDUSTRY.ID

  -- BBIS PBI 361198 END; Hooking directory searching into Primary Employment fields ------------------------------------------------------------------------------------------


  --dbo.ADDRESS as BIZADDRESS on CONSTITUENT.ID = BIZADDRESS.CONSTITUENTID -- Pull the address from the constituent, not their business.

  left join
  dbo.ADDRESS as BIZADDRESS on PRIMBIZRELATION.RELATIONSHIPCONSTITUENTID = BIZADDRESS.CONSTITUENTID --Why pull the constit address as their business address?? wi-104903/109889

  --and BIZADDRESS.ADDRESSTYPECODEID = (select top 1 BUSINESSADDRESSTYPECODEID from dbo.NETCOMMUNITYDEFAULTCODEMAP)

  --and BIZADDRESS.RELATIONSHIPID = PRIMBIZRELATION.ID

  and BIZADDRESS.ISPRIMARY = 1
  left join
  dbo.COUNTRY as BIZCOUNTRY on BIZADDRESS.COUNTRYID = BIZCOUNTRY.ID
  left join
  dbo.STATE as BIZSTATE on BIZADDRESS.STATEID = BIZSTATE.ID
  left join
  dbo.ADDRESSVALIDATIONUPDATE as BIZADDRESSVALIDATIONUPDATE on BIZADDRESSVALIDATIONUPDATE.ID = BIZADDRESS.ID
  left join
  dbo.REGIONCODE as BIZREGIONCODE
 on BIZREGIONCODE.ID = BIZADDRESSVALIDATIONUPDATE.REGIONCODEID
  left join
  dbo.EDUCATIONALHISTORY as CONSTITEDUHISTORY on CONSTITUENT.ID = CONSTITEDUHISTORY.CONSTITUENTID and CONSTITEDUHISTORY.ISPRIMARYRECORD = 1
  left join
  dbo.EDUCATIONALINSTITUTION
 on CONSTITEDUHISTORY.EDUCATIONALINSTITUTIONID = EDUCATIONALINSTITUTION.ID
  left join
  dbo.EDUCATIONALHISTORYTYPECODE on CONSTITEDUHISTORY.EDUCATIONALHISTORYTYPECODEID = EDUCATIONALHISTORYTYPECODE.ID
  left join
  dbo.EDUCATIONALHISTORYSTATUSCODE on CONSTITEDUHISTORY.EDUCATIONALHISTORYSTATUSCODEID = EDUCATIONALHISTORYSTATUSCODE.ID
  left join
    PRIMARYEDU_CTE on CONSTITEDUHISTORY.ID = PRIMARYEDU_CTE.EduHistoryID

  END