oracle sql:从两个视图中选择字段,没有字段重叠

时间:2013-06-27 14:59:05

标签: sql oracle oracle-sqldeveloper

使用Oracle SQL Developer(3.2.20.09)。

我必须从两个源视图创建一个视图。例如,视图A中存在字段1-3,视图B中存在字段4-6。重叠为零。我无法选择两个视图并将所有字段拉到后续视图中,因为它们组合起来的字段太多(两个源视图组合在一个视图中允许的总字段上)。

是否可以告诉我的pl / sql包程序:从视图A中获取此字段。如果不存在,请转到查看B?

或者是使用all_tab_columns或其他一些元(?)解决方案的更好的解决方案,看看谁拥有Field 1并从那里获取它?

我对上述两种方案中的任何一种都没有任何经验,所以会很感激很多指导。

或者只是有更好的第三种选择吗?

1 个答案:

答案 0 :(得分:0)

无法创建超过1000列的视图。如果视图A和B的组合列数较少,则可以在工作表中使用SQL创建第三个视图:

CREATE OR REPLACE VIEW view_3 (f1, f2, f3, f4, f5, f6) 
AS
SELECT a1,   a2,   a3,   NULL, NULL, NULL FROM view_a UNION ALL
SELECT null, null, null, b4,   b5,   b6   FROM view_b;