0

以下に3つのテーブルを添付しました。

トレーナーズテーブル

ここに画像の説明を入力

トレーナープラン表

ここに画像の説明を入力

フィットネスプラン表

ここに画像の説明を入力

そこで私がやろうとしているのは、特定の PlanID を持つすべてのトレーナーの FirstName、LastName、Phone、および Hours を表示することです。だから私は試しました

SELECT FirstName, LastName, Phone, Hours
FROM TRAINERS T INNER JOIN TRAINERPLAN TP
ON T.ID = TP.TrainerID
INNER JOIN FITNESSPLANS FP
ON TP.PlanID = FP.ID
WHERE FP.ID = 1;

エラーが発生します:

ここに画像の説明を入力

私は何を間違っていますか?私はSQL DeveloperでSQLを実行しましたが、これが私のやり方です。アクセスSQLはまったく同じではないと確信していますが、実行すると:

SELECT FirstName, LastName, Phone, Hours
FROM TRAINERS T INNER JOIN TRAINERPLAN TP
ON T.ID = TP.TrainerID;

これは正常に実行され、結果が表示されるため、内部結合が機能していることはわかっていますが、何らかの理由で別の内部結合を取得できません。

4

1 に答える 1

1

「ネスト」結合にアクセスします。これには、括弧で囲む必要があります。

SELECT FirstName, LastName, Phone, Hours
FROM ((TRAINERS T INNER JOIN TRAINERPLAN TP
ON T.ID = TP.TrainerID)
INNER JOIN FITNESSPLANS FP
ON TP.PlanID = FP.ID)
WHERE FP.ID = 1;
于 2013-11-11T18:44:34.547 に答える