从视图中的不同视图中选择值

时间:2016-11-18 10:46:19

标签: sql oracle

假设CAR1和CAR2是表格。然后我可以这样做:

select c1.modelType, c2.modelType from CAR1 c1, CAR2 c2; 

现在假设我们有一个名为V_CAR1的CAR1视图,以及一个CAR2视图,V_CAR2。

Semilar,我想从2个视图中进行选择。像这样:

select v_c1.NAME, v_c2.Type from V_CAR1 v_c1, V_CAR2 v_c2;

我无法做到这一点,我的sqqldeveloper只是永远有效,没有得到答案。我还需要创建一个视图,它必须从另一个视图中提取值。我猜问题会是一样的。我做错了什么?

我正在使用Oracle

1 个答案:

答案 0 :(得分:0)

如前所述,您的陈述没有加入。

你可以在这里阅读关于联接的内容; http://www.w3schools.com/sql/sql_join.asp

内连接的一个例子是;我想知道与每个人相关的汽车品牌/型号。

我的个人信息在一张桌子内,而汽车信息在另一张桌子内。

2个表共有2列,我可以加入这些列给我我想要的东西; ref和subref

表;

V_CAR1 v_c1;

Name | Surname | Ref | Subref
John   Doe       100   1   
John   Smith     100   2  
Jim    Doe       200   1  
Jim    Smith     200   2  

V_CAR2 v_c2;

Ref | Subref | Make   | Model
100   1        Nissan   Sunny 
100   2        Ford     Focus
200   1        Honda    Civic
200   2        Fiat     500

一个示例陈述是;

SELECT v_c1.Name, v_c1.Surname, v_c2.Make, v_c2.Model 
FROM VCAR1 v_c1
INNER JOIN VCAR2 v_c2
on (v_c1.ref = v_c2.ref and v_c1.subref = v_c2.subref)

这会给;

Name | Surname | Make   | Model
John  Doe       Nissan   Sunny 
John  Smith     Ford     Focus
Jim   Doe       Honda    Civic
Jim   Smith     Fiat     500

希望这有助于您入门。