JOIN-edテーブルでJOINを実行する必要がありますが、それを達成する方法がわかりません。うまくいけば、以下の質問は、私がしようとしていることを示しています:国名、各国のリーダー、各リーダーの故郷を取得してください。JOIN-edテーブルでJOINを実行するにはどうすればよいですか?
このクエリの問題は、President.HomeTown_Idとの2回目の参加でJOIN-edテーブル "President"を使用していると思います。私は他に何を試していいのかわかりません。 VSで
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
、私は「マルチパート識別子 『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.
らしいですか?あなたが持っている問題は何ですか?サンプルデータがありますか? –
ええ、あなたのコードは正しい –
あなたのクエリはうまく動作するはずです。それはエラーを投げているのですか、または再実行されたデータは期待したものではありませんか? – Lamak