Почему я не могу подключить таблицы OUTER JOIN? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть таблица учителей, и каждый учитель также может быть директором. Я должен представить одного учителя и всех его руководителей. Он хорошо справляется с этой задачей в этом коде:

   WITH teacherTablecte AS
   (SELECT teacher.IdTeacher, teacher.FirstName, teacher.LastName, 
   teacher.PhoneNumber,teacher.ManagerId, 1 as 'EmpLevel', boss.[FirstName]+' 
   '+boss.LastName  as bossName
   FROM [dbo].[T_Teachers]  teacher JOIN  [dbo].[T_Teachers] boss
   ON teacher.ManagerId = boss.IdTeacher
   WHERE teacher.IdTeacher =2011
   UNION ALL
   SELECT teacher.IdTeacher, teacher.FirstName, teacher.LastName, 
   teacher.PhoneNumber,teacher.ManagerId, teacherTablecte.EmpLevel + 1, boss. 
   [FirstName]+' '+boss.LastName 
   FROM  [dbo].[T_Teachers] teacher 
   JOIN teacherTablecte
   ON teacher.IdTeacher = teacherTablecte.ManagerId  JOIN [dbo].[T_Teachers] 
   boss on 
   teacher.MANAGERID= boss.IdTeacher
   )
   SELECT *
   FROM teacherTablecte 

Но он не знакомит меня с главным исполнительным директором, который я пытался преобразовать

   WITH teacherTablecte AS
  (SELECT teacher.IdTeacher, teacher.FirstName, teacher.LastName, 
  teacher.PhoneNumber,teacher.ManagerId, 1 as 'EmpLevel', boss.[FirstName]+' 
  '+boss.LastName  as 
  bossName
  FROM [dbo].[T_Teachers]  teacher JOIN  [dbo].[T_Teachers] boss
  ON teacher.ManagerId = boss.IdTeacher
  WHERE teacher.IdTeacher =2011
  UNION ALL
  SELECT teacher.IdTeacher, teacher.FirstName, teacher.LastName, 
  teacher.PhoneNumber,teacher.ManagerId, teacherTablecte.EmpLevel + 1, boss. 
  [FirstName]+' 
  '+boss.LastName 
  FROM  [dbo].[T_Teachers] teacher 
  JOIN teacherTablecte
  ON teacher.IdTeacher = teacherTablecte.ManagerId  OUTER JOIN [dbo]. 
  [T_Teachers] boss on 
  teacher.MANAGERID= boss.IdTeacher
    )
     SELECT *
     FROM teacherTablecte 

, но JOIN во OUTER JOIN, но я получить эту ошибку: Msg 462, Level 16, State 1, Line 2 Внешнее соединение не разрешено в рекурсивной части рекурсивного общего табличного выражения «teacherTablecte».

...