Project と Project_Property の 2 つのテーブルがあり、Project から Project_Property まで 1 対多です。サブクエリを使用して Project ごとに 3 つのプロパティを取得し、Project に参加しようとしています (例では "Repo")。警告: 私は主に SQL Server の担当者なので、SQL で動作することを知っていることを Oracle に投影しようとしています。
私はこれを書きました:
select s1.Repo, s1.Solution, p1.Project, a1.Assembly
from
(
select p.name as "Repo", pp.value as "Solution"
from project p join project_property pp on p.id=pp.project_id
where pp.name='mssolutionname'
) s1 join
(
select p.name as "Repo", pp.value as "Project"
from project p join project_property pp on p.id=pp.project_id
where pp.name='msprojectname'
) p1 on p1.Repo=s1.Repo join
(
select p.name as "Repo", pp.value as "Assembly"
from project p join project_property pp on p.id=pp.project_id
where pp.name='msassemblyname'
) a1 on s1.Repo=a1.Repo;
しかし、実行すると次のようになります。
ORA-00904: "S1"."REPO": invalid identifier
Oracle でこのタイプのクエリに別の形式はありますか? 特にサブクエリの結合に関して、サブクエリで選択された値を外側のメインクエリで参照するにはどうすればよいですか。それとも、私が見逃したタイプミスがありますか?初めてではないでしょう。
ティア。