从一个视图中选择数据并使用该数据从另一个视图中进行选择
Posted
技术标签:
【中文标题】从一个视图中选择数据并使用该数据从另一个视图中进行选择【英文标题】:Select data from one view and use that to select from another view 【发布时间】:2011-07-06 14:08:32 【问题描述】:我有 2 个数据视图,它们通过 ID 列相关。
我需要从视图 A 中选择一些基于另一个 ID 的 ID。这通常会产生一组 ID。
然后我需要使用这组 ID 从另一个视图中选择行。
我可以使用 2 个查询来完成此操作,但我想在一个查询中完成。
我应该怎么做?
【问题讨论】:
【参考方案1】:SELECT b.*
FROM ViewA a
INNER JOIN ViewB b
ON a.CommonID = b.CommonID
WHERE a.OtherID = xxx
【讨论】:
嗨..感谢您的解决方案..但是我收到错误 ORA-01722: invalid number 我也刚刚看到commonID有不同的数据类型。一个是整数,另一个是varchar。我该如何比较它们?我试过 CAST (b.commonid AS integer),但得到上述错误 忽略上面的 cmets。我通过将数据库字段转换为整数来解决问题,以避免将它们转换为整数。解决了!【参考方案2】:select *
from table1
where id in (
select some_id from table2 where id in (
select some_other_id from table3 where some_condition));
【讨论】:
以上是关于从一个视图中选择数据并使用该数据从另一个视图中进行选择的主要内容,如果未能解决你的问题,请参考以下文章