日期:2014-05-17  浏览次数:20369 次

请问 select后再连接另一个表的方法
我希望通过
select a from T where a>10

得到一个结果

然后再select出 另一个表T1 中  所有满足 T1.a = 上述查询后得到的a的 结果


我这样写,系统提示  join旁有语法错误
select B.a
join (select A.a from T A  where A.a >10) C
on (B.a=C.a)

------解决方案--------------------
SELECT  * FROM A 
 JOIN B ON A.ID = B.ID

------解决方案--------------------
select B.a
from b
where b.a in(select A.a from T A  where A.a >10)

为什么要那么复杂呢? 
------解决方案--------------------

slect B.a from B join A on
A.a=B.a and A.a>10

------解决方案--------------------
或者直接用Oracle的语法来做join咯,看上去比Join更直接:

SELECT B.*, A.*
FROM A,B
WHERE A.a=B.a AND A.a>10

------解决方案--------------------
引用:
select A.a from T A  where A.a >10
join (select B.a FROM B) C
on (B.a=C.a) 

我反过来写,就不行



 select A.a
 from
 (
 select a
 from T 
 where a>10
 ) A
 join B on
 A.a=B.a

反过来是这样写
------解决方案--------------------
其实你最好给出点测试数据和期待结果,不然很难写