0
如何訪問子查詢中的「父」屬性。Oracle:在子查詢中訪問父屬性
E.g.如果我有以下最小工作實例片段,我期望作爲輸出
「1,2:3」
然而它失敗
ORA-904,T1.F1不合法的識別符。
現在我知道我可以重寫這個完整的查詢得到這個工作,但是理由問這個是:
- 爲什麼我不能訪問「外部」 attrbute?
- 如何以較少的修改訪問它,並且
- 我想添加一個列,而無需太多地對外部查詢進行調試。
MWE:
create table T1(F1 INTEGER);
create table T2(F2 INTEGER,F3 INTEGER);
insert into T1(F1) VALUES(1);
insert into T2(F2,F3) VaLUES(1,2);
insert into T2(F2,F3) VALUES(1,2);
insert into T2(F2,F3) VALUES(1,3);
select T1.F1,
(SELECT LISTAGG(A,':') WITHIN GROUP (ORDER BY A) from (select distinct(F3) as A froM T2 where F2 = T1.F1)) as B
from T1;
嗨,是的,我發現這個解決方案已經是我自己了,但是,爲什麼我不能從子查詢中的子訪問父屬性,這個父屬性應該保持穩定(相同),當子查詢和sub-in-subquery正在運行 – robert
「ANSI SQL的表格引用(相關名稱)的作用範圍僅爲[asktom](https://asktom.oracle.com/pls/asktom/f?p=100: 11:0 :::: P11_QUESTION_ID:1853075500346799932) –