2011-07-06 29 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)); 
相關問題