0

请用这个 select 语句看看这个 SQL fiddle :

select T1.VAL, ttemp.*
from T1, 
  (select rownum, t.* from (select * from T2 where t2.val = t1.val ) t) ttemp
where t1.val = ttemp.val
and t1.val > 2

在这里,我想将最外层表与内层 2 表连接起来,依此类推,替换t2.val > 2t2.val = t1.val结果

ORA-00904: "T1"."VAL": invalid identifier 

我相信不添加whereorjoin子句select * from T2会导致全表扫描。不会吗?

4

1 回答 1

0

也许你可以使用这个:

SELECT rownum, t1.val, t2.NAME
FROM T1 t1
LEFT JOIN T2 t2 ON (t1.VAL = t2.VAL)
WHERE t1.VAL > 2
于 2014-03-28T07:41:22.253 回答