2
我有3個表。 表Test
,Folder
和Iteration
。樹結構與連接BY內部加入和更新
每test
與Folder
掛鉤。 與test
鏈接的Folder
是許多其他folders
的子碼。
從這些folders
中,層次結構頂部的一個與表Iteration
連接。
現在我想更新的在Test
表Iteration_ID。這樣我就可以在Test和Iteration之間建立一個「快速」連接。 這是我的嘗試:
update Test a set a.Iteration_ID =
(nvl((
--The Select Part
select b.ID from Iteration b inner join Folder c on b.Folder_ID = c.ID
where c.ID =
(
select * from
(
SELECT d.ID FROM Folder d START WITH d.ID = 135196 CONNECT BY PRIOR d.parent_id = d.id
order by LEVEL desc
)
where rownum= 1
)
--End Select Part
),0));
查詢上述作品,但我在d.ID.靜態ID我想設置有a.Folder_ID :
update Test a set a.Iteration_ID =
(nvl((
--The Select Part
select b.ID from Iteration b inner join Folder c on b.Folder_ID = c.ID
where c.ID =
(
select * from
(
SELECT d.ID FROM Folder d START WITH d.ID = a.Folder_ID CONNECT BY PRIOR d.parent_id = d.id
order by LEVEL desc
)
where rownum= 1
)
--End Select Part
),0));
的問題是,甲骨文不知道a.folder_id
ORA-00904: "A"."FOLDER_ID": ungültiger Bezeichner
00904. 00000 - "%s: invalid identifier"
任何人都知道一個更好的辦法來解決問題,或改善查詢?
例如要獲取根文件夾與我的select * from and rownum = 1
?
謝謝!