2
在Oracle 12c中,以下查詢可以工作,但不在Oracle 11g中,因爲二級子查詢無法從主查詢中看到字段。
如何重寫查詢以在Oracle 11中工作呢?Oracle - 二級子查詢無法從主查詢中看到字段
SELECT lvl,
unique_code,
(
SELECT unique_code
FROM (
SELECT p.unique_code
FROM tree p
WHERE p.lvl = t.lvl - 1
AND p.unique_code < t.unique_code
ORDER BY p.unique_code DESC
)
WHERE ROWNUM = 1
) AS parent_unique_code
FROM tree t
樹包含行如下:
(請不要依靠的唯一代碼的格式/結構,這在現實中是比較複雜)
lvl unique_code
-----------------------
1 A
2 A/X
2 A/Y
3 A/Y/T
2 A/Z
1 B
2 B/X
預期結果如下:
lvl unique_code parent_unique_code
--------------------------------------------
1 A
2 A/X A
2 A/Y A
3 A/Y/T A/Y
2 A/Z A
1 B
2 B/X B
謝謝
做一個LEFT JOIN呢? – jarlh