2016-10-16 54 views
-2

我有一個表和視圖,其中一列是公用的,這是表的主鍵。現在,如果我想加入表格並僅查看特定列,那麼我應該在該情況下創建視圖還是表格?另外我想將結合的結果導入到Tableau。Oracle SQL開發人員 - 從表和視圖創建表

+0

如果我想加入兩個視圖來創建一個新表?哪個連接適合使用? –

回答

0

那麼如果你想要在單個查詢中連接表和視圖,你可以寫它,或者你可以創建它的視圖,如果你想。例如:

create table tmp_table_a (id, first_col, second_col, third_col) as 
    select level, lpad('a',level,'b'), lpad('c',level,'d'), lpad('e',level,'f') 
    from dual connect by level < 101; 

    create view v_tmp_a as 
    select id, substr(first_col,1,10) as first_sub_col from tmp_table_a; 

簡單的查詢:

select second_col, third_col, first_sub_col 
from tmp_table_a t1, v_tmp_a v1 
where t1.id = v1.id; 

或創建視圖:

create view v_join_a as 
select second_col, third_col, first_sub_col 
from tmp_table_a t1, v_tmp_a v1 
where t1.id = v1.id; 

select * from v_join_a; 
+0

如果我想加入兩個視圖來創建一個新表,該怎麼辦?哪個連接適合使用? –

+0

這取決於你需要什麼連接。你可能不關心對象,並且認爲視圖與桌子有關 –