Oracle 11g关联子查询返回多列

djd*_*jdy 0 oracle oracle11g

第一个查询获取ID和注册时间:

SELECT
  t1.mid
  t1.regtime
Run Code Online (Sandbox Code Playgroud)

子查询需要转到另一个表,并且 SELECT address, city from t2 WHERE t2.mid = t1.mid AND MAX(t2.seqs)

t2可以包含具有不同序列号的多个中频.所以我们希望mids匹配,seqs最高.

问题:在获得最高t2.mid的同时返回1个子查询中的多个列.

期望的最终结果:

 mid | regtime | address | city
Run Code Online (Sandbox Code Playgroud)

Zso*_*kai 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
Run Code Online (Sandbox Code Playgroud)

应该管用.

HTH