我有這個疑問:甲骨文 - 相關子查詢的問題
select acc_num
from (select distinct ac_outer.acc_num, ac_outer.owner
from ac_tab ac_outer
where (ac_outer.owner = '1234567')
and ac_outer.owner = (select sq.owner
from (select a1.owner
from ac_tab a1
where a1.acc_num = ac_outer.acc_num /*This is the line that gives me problems.*/
order by a1.a_date desc, a1.b_date desc, a1.c_date desc) sq
where rownum = 1)
order by dbms_random.value()) subq
order by acc_num;
的想法是從ac_tab
得到所有acc_num
秒(而不是主鍵),即有1234567
一個owner
。
由於ac_tab
的acc_num
可能隨着時間的推移發生了變化owner
S,我嘗試使用內相關子查詢,以確保返回的acc_num
只有當它的最近owner
是12345678
。當然,它不起作用(或我不會在這裏張貼;))
Oracle給了我一個錯誤:ORA-000904 ac_outer.acc_num is an invalid identifier
。
我認爲ac_outer
應該是相關的子查詢可見,但由於某種原因,它不是。有沒有辦法來解決這個問題,還是我不得不求助於PL/SQL來解決這個問題?
(甲骨文verison爲10g)
+1:你說得對,謝謝你的糾正。不知道我在想什麼... –
我需要對結果做更多的分析,但是這似乎給了我想要的東西。我真的需要更多地瞭解分析功能! – FrustratedWithFormsDesigner