2011-07-06 30 views
1

我有2个数据视图,它们通过ID列相关。从一个视图中选择数据并使用它从另一个视图中选择

我需要从视图中选择一些ID基于另一个ID。这通常会导致一组ID。

然后,我需要使用这组ID来从另一个视图中选择行。

我可以用2个查询来做到这一点,但我想在单个查询中做到这一点。

我该怎么做?

回答

2
SELECT b.* 
    FROM ViewA a 
     INNER JOIN ViewB b 
      ON a.CommonID = b.CommonID 
    WHERE a.OtherID = xxx 
+0

嗨..感谢的解决方案。但是我得到一个错误 ORA-01722:无效数字 – Herter

+0

也是我刚才看到的是,commonID​​有不同的数据类型..一个是整数,其他是一个varchar。 我如何比较它们?我试图CAST(b.commonid AS整数),但得到上述错误 – Herter

+0

忽略上述评论..我通过将数据库字段转换为整数来解决问题,以避免将它们转换为整数。解决了! – Herter

0
select * 
from table1 
where id in (
    select some_id from table2 where id in (
     select some_other_id from table3 where some_condition)); 
相关问题