我正在使用Oracle 10,但提出这个问题的最好方法是举例。
select *
from t1, t2
where t1.id = t2.id
and t1.otherID = (select max(otherID)
from t2
where id = THE ID FROM THE OUTER QUERY T1
)
我想你知道我想要去哪里。我需要在子查询中引用t1
以将其加到t2
的最大值。
我需要知道如何创建这样的查询。
“来自外部查询T1的ID”是我的困惑所在。
我尝试使用t1.id
,但未获得结果。
答案 0 :(得分:0)
尝试以下
select t1.*, t2.*
from t1
join t2 on t1.id = t2.id
join (select id, max(otherID) as max_otherID
from t2
group by id
) a ON a.id = t1.id and a.max_otherID = t1.otherID
在连接上使用子查询通常比在where子句中使用它提供更好的性能。