考慮Table 1和Table與一對多的關係(表1是主表和表2是詳細表)。我想從table1獲取記錄,其中某些值('XXX')是與table1相關的詳細記錄的表2中最近記錄的值。我想這樣做是:甲骨文嵌套相關子問題
select t1.pk_id
from table1 t1
where 'XXX' = (select a_col
from ( select a_col
from table2 t2
where t2.fk_id = t1.pk_id
order by t2.date_col desc)
where rownum = 1)
但是,由於在相關子查詢的參照表1(T1)是兩個層次深,它與Oracle錯誤(無效ID T1)彈出。我需要能夠重寫這一點,但有一點需要注意的是,只有where子句可能會改變(即最初的select和from必須保持不變)。可以做到嗎?
我會試試這些。我稍後再回來查看。謝謝。 – GriffeyDog 2011-03-15 17:15:31
感謝戴夫,每個例子都很棒。我認爲這可以通過分析函數來完成,但不太確定如何編寫它。 – GriffeyDog 2011-03-15 19:05:10
如果我想要按順序排列的第二,第三和下一個結果怎麼辦?使用這種方法可能嗎? – Sawd 2015-09-24 17:40:28