#sql-server #tsql
#sql-server #tsql
Вопрос:
Я создаю хранимую процедуру и ни за что на свете не могу понять, что с ней не так. Мне нужен другой взгляд на это, и никто здесь не может мне помочь. Вот мой код:
SELECT AP.[TermID]
,TE.TermName
,AP.[SchoolID]
, SchoolCode, SchoolName
,CASE WHEN [SA_Level] = 'A' THEN 'Adult' ELSE 'Secondary' END AS StudentType
,DE.[DOECode]
,DE.[DOEName]
,[LabMarWage]
FROM [inters].[inters_tblApprovedProgramsTest] AP
JOIN #SchoolList SL
JOIN[inters].[inters_tblDOECode] DE
ON AP.[SchoolID] = SL.[SchoolID]
-- JOIN [inters].[inters_tblJobCode] JC
ON AP.[CipCode] = DE.[DOECode]
LEFT JOIN [inters].[inters_tblLabMarWage] LM
ON DE.[LabMarWageID] = LM.[LabMarWageID]
JOIN [inters].[inters_tblTerm] TE
ON AP.[TermID] = TE.[TermID]
WHERE [IsActive] = 1
AND TE.TermName = @TermName
AND [SA_Level] = 'S'
AND ( @CipFilter = 0
OR ( @CipFilter = 1 AND DE.[LabMarWageID] IS NOT NULL))
ORDER BY TermName
,SchoolName
,[SA_Level]
,[DOECode]
,[CreditHours]
Сообщение об ошибке:
(затронуты 11 строк) Сообщение 4104, уровень 16, состояние 1, Процедура JeffApprovedPrograms, строка 26 Не удалось привязать идентификатор, состоящий из нескольких частей «AP.SchoolID».
По какой-то причине я не вижу проблемы. Я был бы признателен за любую помощь, которую я мог бы получить.
Комментарии:
1. Почему в вашей
JOIN
таблице нет#Schoolist
условия? У вас также есть пара синтаксических ошибок, таких как несколькоON
операторов для одногоJOIN
…2. @JNK — Существует условие объединения
ON AP.[SchoolID] = SL.[SchoolID]
, но оно находится не в том месте, которое вызывает это сообщение об ошибке.3. Я не уверен, почему они закодировали его так, как сделали, и я пытаюсь это очистить.
Ответ №1:
JOIN #SchoolList SL
JOIN[inters].[inters_tblDOECode] DE
ON AP.[SchoolID] = SL.[SchoolID]
-- JOIN [inters].[inters_tblJobCode] JC
ON AP.[CipCode] = DE.[DOECode]
Должно быть
JOIN #SchoolList SL
ON AP.[SchoolID] = SL.[SchoolID]
JOIN [inters].[inters_tblDOECode] DE
ON AP.[CipCode] = DE.[DOECode]
Комментарии:
1. На самом деле это было: НА DE.[CipCode] = DE.[DOECode]…. Я сравнивал яблоки с апельсинами 🙂