I have a query that has a subselect from another server in the join logic. See below. This query wont run due to an error saying that table ef is not a table in the query..????
Does anyone know of a problem with this type of logic? It runs find when all of the tables are on the same server..
Thanks
SELECT
ss.SchoolYear
,ss.DistrictCode
,ss.StatusIndicator
,ss.SchoolCode
,ss.StudentLink
,EnterDate
,ExitDate
,EnterCode
,ExitCode
,PermanentID
,StudentSSN
,AdvisorLink
,StateID
,ss.QuarterlyUpdateID
,ESLCode
,EFAPrimaryCode
,ss.DistrictCode + ss.SchoolCode AS DistSchool
,CASE
WHEN StudentGenderCode in ('F', 'M') THEN StudentGenderCode
ELSE
'MISSING'
END AS SEX
,CASE
WHEN GradeCode = '00' THEN 'KG'
WHEN GradeCode = 'PK' THEN GradeCode
WHEN GradeCode BETWEEN '01' AND '12' THEN GradeCode
ELSE
'MISSING'
END AS GRADELVMEM
,CASE
WHEN StudentEthnicCode in ('A', 'AP', 'P') THEN 'AS'
WHEN StudentEthnicCode in ('AI', 'I') THEN 'AM'
WHEN StudentEthnicCode in ('B', 'BI') THEN 'BL'
WHEN StudentEthnicCode = 'H' THEN 'HI'
WHEN StudentEthnicCode in ('W', 'WA', 'WB', 'WI') THEN 'WH'
ELSE
'MISSING'
END AS RACEETHNIC
,CASE
WHEN LunchStatusCode = 'F' THEN 'FL'
WHEN LunchStatusCode = 'R' THEN 'RPL'
WHEN LunchStatusCode = 'N' THEN ' '
ELSE
'MISSING'
END AS LUNCHPROG
INTO
#tmppotter
FROM
badb.SC_Eden_ods.dbo.EDENStudent ss
LEFT OUTER JOIN
SDEDBDW.Data_Repository.dbo.SASIEFAHistory ef
ON ss.SchoolYear = ef.SchoolYear
AND ss.QuarterlyUpdateID = ef.QuarterlyUpdateID
AND ss.DistrictCode = ef.DistrictCode
AND ss.SchoolCode = ef.SchoolCode
AND ss.StudentLink = ef.StudentLink
AND ef.EFAEnterDate = (SELECT MAX(ef2.EFAEnterDate)
FROM SDEDBDW.Data_Repository.dbo.SASIEFAHistory ef2
WHERE
ef.SchoolYear = ef2.SchoolYear
AND ef.DistrictCode = ef2.DistrictCode
AND ef.SchoolCode = ef2.SchoolCode
AND ef.QuarterlyUpdateID = ef2.QuarterlyUpdateID
AND ef.StudentLink = ef2.StudentLink)
WHERE
ss.StatusIndicator = ' '
Does anyone know of a problem with this type of logic? It runs find when all of the tables are on the same server..
Thanks
SELECT
ss.SchoolYear
,ss.DistrictCode
,ss.StatusIndicator
,ss.SchoolCode
,ss.StudentLink
,EnterDate
,ExitDate
,EnterCode
,ExitCode
,PermanentID
,StudentSSN
,AdvisorLink
,StateID
,ss.QuarterlyUpdateID
,ESLCode
,EFAPrimaryCode
,ss.DistrictCode + ss.SchoolCode AS DistSchool
,CASE
WHEN StudentGenderCode in ('F', 'M') THEN StudentGenderCode
ELSE
'MISSING'
END AS SEX
,CASE
WHEN GradeCode = '00' THEN 'KG'
WHEN GradeCode = 'PK' THEN GradeCode
WHEN GradeCode BETWEEN '01' AND '12' THEN GradeCode
ELSE
'MISSING'
END AS GRADELVMEM
,CASE
WHEN StudentEthnicCode in ('A', 'AP', 'P') THEN 'AS'
WHEN StudentEthnicCode in ('AI', 'I') THEN 'AM'
WHEN StudentEthnicCode in ('B', 'BI') THEN 'BL'
WHEN StudentEthnicCode = 'H' THEN 'HI'
WHEN StudentEthnicCode in ('W', 'WA', 'WB', 'WI') THEN 'WH'
ELSE
'MISSING'
END AS RACEETHNIC
,CASE
WHEN LunchStatusCode = 'F' THEN 'FL'
WHEN LunchStatusCode = 'R' THEN 'RPL'
WHEN LunchStatusCode = 'N' THEN ' '
ELSE
'MISSING'
END AS LUNCHPROG
INTO
#tmppotter
FROM
badb.SC_Eden_ods.dbo.EDENStudent ss
LEFT OUTER JOIN
SDEDBDW.Data_Repository.dbo.SASIEFAHistory ef
ON ss.SchoolYear = ef.SchoolYear
AND ss.QuarterlyUpdateID = ef.QuarterlyUpdateID
AND ss.DistrictCode = ef.DistrictCode
AND ss.SchoolCode = ef.SchoolCode
AND ss.StudentLink = ef.StudentLink
AND ef.EFAEnterDate = (SELECT MAX(ef2.EFAEnterDate)
FROM SDEDBDW.Data_Repository.dbo.SASIEFAHistory ef2
WHERE
ef.SchoolYear = ef2.SchoolYear
AND ef.DistrictCode = ef2.DistrictCode
AND ef.SchoolCode = ef2.SchoolCode
AND ef.QuarterlyUpdateID = ef2.QuarterlyUpdateID
AND ef.StudentLink = ef2.StudentLink)
WHERE
ss.StatusIndicator = ' '