2011-12-12 81 views
0

首先查詢獲取的ID和註冊時間:的Oracle 11g相關子查詢返回多個列

SELECT 
    t1.mid 
    t1.regtime 

子查詢需要去另一個表,並SELECT address, city from t2 WHERE t2.mid = t1.mid AND MAX(t2.seqs)

t2可以包含具有不同序列號的多箇中頻。所以我們希望mids能夠匹配,而seqs要最高。

問題:返回1個子查詢中的多個列,同時獲得最高的t2.mid。

期望的最終結果:

mid | regtime | address | city 

回答

5
with t as 
    (select t2.mid, address, city 
     from t2 
     where t2.seqs = (select max(tt.seqs) 
          from t2 tt 
          where tt.mid = t2.mid) 
    ) 
select t1.mid, t1.regtime, t.address, t.city from t1, t where t1.mid = t.mid 

應該工作。

HTH

+0

非常感謝!今天學到了新東西。 – djdy