Мне нужно выполнить JOIN для таблицы JOIN-ed, и я не уверен, как это сделать.Надеемся, что приведенный ниже запрос демонстрирует, что я пытаюсь сделать: получить названия стран, лидеров каждой страны и родной город каждого лидера.
Я думаю, что проблема с этим запросом заключается в использовании объединенной таблицы «Президент"во втором присоединиться к President.HomeTown_Id.Я не знаю, что еще попробовать.
SELECT
Countries.Name AS Country,
President.Name AS Leader,
PresidentHomeTown.Name AS LeaderHomeTown
FROM Countries
LEFT OUTER JOIN PoliticalFigures AS President ON Countries.President_Id = President.Id
LEFT OUTER JOIN Cities AS PresidentHomeTown ON President.HomeTown_Id = PresidentHomeTown.Id
В VS я получаю сообщение об ошибке: «Не удалось связать многоэлементный идентификатор« President.Id »».
Имена таблиц и полей вымышлены, но мне нужно решить ту же проблему.Я изменил имена, чтобы прояснить ситуацию;надеюсь, это будет актуально для большего числа людей.
- обновление -
Может быть, оригинальный код помогает:
SELECT
CaseComparisons.Directory AS CaseComparisonDir,
BaselineResult.Directory AS BaselineResultDir,
ComparisonResult.Directory AS ComparisonResultDir,
Setup.FullSvnLink AS SvnLink,
BaselineVersion.FullFilePath AS BaselineExecutableDir
FROM CaseComparisons
LEFT OUTER JOIN Results AS BaselineResult ON CaseComparisons.BaselineResult_Id = Baseline.Id
LEFT OUTER JOIN Results AS ComparisonResult ON CaseComparisons.ComparisonResult_Id = Comparison.Id
LEFT OUTER JOIN Setups AS Setup ON Baseline.Setup_Id = Setups.Id
LEFT OUTER JOIN BuildVersions AS BaselineVersion ON BaselineResult.Version_Id = BuildVersions.Id
WHERE
CaseComparisons.Status = 'Queued' OR
Baseline.Status = 'Queued' OR
Comparison.Status = 'Queued'
Ошибки, которые я получаю при выполнении запроса:
The multi-part identifier "Baseline.Id" could not be bound.
The multi-part identifier "Comparison.Id" could not be bound.
The multi-part identifier "Baseline.Setup_Id" could not be bound.
The multi-part identifier "Setups.Id" could not be bound.
The multi-part identifier "BuildVersions.Id" could not be bound.
The multi-part identifier "Baseline.Status" could not be bound.