2 つのテーブルを結合して結合し、その結合されたテーブルを使用して 3 番目のテーブルを結合する SQL クエリがあります。これを行う方法をグーグルで調べてみましたが、言葉遣いがぎこちなく、何も役に立ちませんでした。これが私が使用しようとしているコードです:
SELECT t.id AS ID
, a.id AS ActivityID
, t.ProjectType AS ProjectType
, t.Tier1Mission AS Mission
, m.id ASMissionID
, m.name AS MissionName
, t.Tier2Activity AS Activity
, a.name AS ActivityName
, t.Tier3Project AS Project
FROM tActivity a
INNER JOIN
(SELECT id, name FROM tMission) m
ON tActivity.missionId = MissionID
LEFT OUTER JOIN
(SELECT *
FROM tTaxonomy
WHERE Tier1Mission = m.name AND Tier2Activity = a.name)
編集: 私が直面している主な問題は、tActivity テーブルに同じ「名前」を持つが異なる MissionId を参照するエントリがあることです。すべてのテーブルを結合するのは簡単ですが、正しい MissionID が必要です。関係は 3 番目のテーブル 'tTaxonomy' に保持されます。