2015-11-17 43 views
-1

我想從現有的2表選擇列創建新表,新列包含'99999999'(如虛擬值)。如何在oracle中使用默認值從現有2表創建表

我嘗試下面的代碼

CREATE TABLE NewTbl1 
AS 
    SELECT a.col1, a.col2, a.col3, b.col4, b.col5, dummycol= '99999999' 
    FROM tbl1 a tbl2 b 
    WHERE (a.col1 = b.colNum AND a.col2 = b.colnum1) 

但我得到從關鍵字沒有發現錯誤。如果我刪除dummcol ='99999999',那麼它正確執行。

是正確的查詢還是錯誤的?如果錯了,請大家指正

+1

「99999999」作爲dummycol – jarlh

回答

3

使用適當join語法和使用別名正確的語法:

CREATE TABLE NewTbl1 as 
    SELECT a.col1, a.col2, a.col3, b.col4, b.col5, '99999999' as dummycol 
    FROM tbl1 a JOIN 
     tbl2 b 
     ON a.col1 = b.colNum AND a.col2 = b.colnum1; 
+0

感謝您的幫助它工作 – dwan

+0

我將如何給數據類型爲dummycol?因爲它的默認值是字符但我想要數字 – dwan

+0

您可以使用cast - 'cast(99999999 AS號碼)作爲dummycol' – Stawros

0
CREATE TABLE NewTbl1 
AS 
SELECT a.col1, a.col2, a.col3, b.col4, b.col5, '99999999' as dummycol 
FROM tbl1 a, tbl2 b 
WHERE (a.col1 = b.colNum AND a.col2 = b.colnum1) 
相關問題