Я ранее тестировал на тестовом сервере своей компании, чтобы создать новый дизайн представления
SELECT
a.[CourseID], a.[Course Code], a.[Course Title] AS [Course Description],
a.[Result], a.[Employee No], a.[Employee Name], a.[Section],
CONVERT(VARCHAR, b.ActStartDate, 105) AS [Last Training Date],
CONVERT(VARCHAR, b.ValidTo, 105) AS [Validity Period],
a.[Status], a.[Flag]
FROM
(SELECT
c.CourseID, c.CourseCode AS [Course Code], c.CourseTitle AS [Course Title],
c.CourseCode + ' - ' + c.CourseTitle AS Result,
b.EMPLOYEE_NO AS [Employee No], b.EMPLOYEE_NAME AS [Employee Name],
b.SECTION_CODE + ' - ' + b.SECTION_DESCRIPTION AS Section,
b.EMPLOYEE_STATUS AS Status, a.Flag
FROM
dbo.ZOJT_EMP_COURSE AS a
INNER JOIN
dbo.vEMPLOYEE_PROFILE AS b ON a.Employee_No = b.EMPLOYEE_NO
INNER JOIN
dbo.tTMS_Course AS c ON c.CourseCode = a.CourseCode) A
OUTER APPLY
(SELECT TOP 1 *
FROM
(SELECT
b.CourseID, a.EmpNo, b.ActStartDate, a.ValidTo
FROM
dbo.tTMS_Training_Record AS a
INNER JOIN
(SELECT
SchID, CourseID, MAX(ActStartDate) AS ActStartDate
FROM
dbo.tTMS_Training_Schedule AS z
GROUP BY
SchID, CourseID) AS b ON a.SchID = b.SchID) AS y
WHERE
ActStartDate IS NOT NULL
AND CourseID = A.CourseID
AND EmpNo = A.[Employee No]
ORDER BY
ActStartDate DESC, ValidTo DESC) B
Однако, когда я пытаюсь переместить этот запрос в моей рабочей среде, я получаю 2 неправильных синтаксических ошибки.
Один около Outer Apply
, а другой около Order By ActStartDate
.Когда я спросил об этой проблеме, мои старшие думали, что это, вероятно, связано с тем, что тестовым сервером, который я использовал для тестирования этого, был SQL Server 2008, в то время как действующим сервером является SQL Server 2000.
Вопрос теперь в том,это действительно так?Если да, есть ли обходной путь?Обратите внимание, что у меня нет возможности или полномочий для обновления моего живого сервера.