Соединить одну таблицу с несколькими полями - PullRequest
2 голосов
/ 29 июня 2011

У меня есть этот SQL, и я пытаюсь объединить таблицу имен пользователей в таблицу задач, которая содержит несколько идентификаторов пользователей

  SELECT Task.TaskID
      ,Project.Project
      ,Task.Task
      ,Task.Description
      ,Task.OwnerLoginID //shown as Login.UserName
      ,Task.SubmitterID //shown as Login.UserName
      ,Task.IsVisible
  FROM Task
  INNER JOIN Project ON Task.ProjectID = Project.ProjectID
  /*
  INNER JOIN Login ON Task.SubmitterID = Login.LoginID
  INNER JOIN Login ON Task.OwnerLoginID = Login.LoginID
  */
  WHERE IsVisible = 1

Я получаю ошибку в закомментированных строках внизукуда я иду не так?

Ответы [ 2 ]

8 голосов
/ 29 июня 2011

попробуйте присвоить псевдонимам таблицы, например,

SELECT Task.TaskID
      ,Project.Project
      ,Task.Task
      ,Task.Description
      ,submitted.UserName
      ,owner.UserName
      ,Task.IsVisible
  FROM Task
  INNER JOIN Project ON Task.ProjectID = Project.ProjectID
  INNER JOIN Login submitted ON Task.SubmitterID = submitted.LoginID
  INNER JOIN Login owner ON Task.OwnerLoginID = owner.LoginID
  WHERE IsVisible = 1
3 голосов
/ 29 июня 2011

Если вы хотите присоединиться к одной и той же таблице означает, давайте как это

  INNER JOIN Login L ON Task.SubmitterID = L.LoginID
  INNER JOIN Login LA ON Task.OwnerLoginID = LA.LoginID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...