我有兩個表,Project和Project_Property與從Project到Project_Property的1到很多。我試圖使用子查詢通過項目獲得三個屬性,並加入項目(例如「回購」)。警告:我主要是一個SQL Server的人,所以我試圖把我所知道的SQL工作並投影到Oracle中。帶有Join的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
是否有在甲骨文這種類型的查詢不同的格式?如何引用在外部主查詢中的子查詢中選擇的值,特別是有關加入子查詢的值。或者我只是有一個錯過的錯字。不會是第一次。
TIA。
東西我不知道,但是,在上面的代碼我一致在我的大箱子中的所有引用列別名,我不是嗎? –
但是,刪除雙引號確實解決了問題。每天學些新東西。謝謝。 –
是的,但在oracle中,您必須在創建時使用別名,以便在查詢中使用** s1。「Repo」**也可以。 –