2017-03-25 60 views
0

我是新來的SQL,我試圖在連接兩個表之後創建一個新表格,其中除了主ID以外的其他字段。我在網上看到它是可能的,但是IBM的dashDB的Run SQL似乎並不喜歡它,因爲它將它標記爲括號後面的''with_data_or_definitions_only'期望的後綴'。我不完全確定這個錯誤究竟是什麼,以及我在網上查看它後如何修復它,我的代碼在語法上幾乎相似。我在想,dashDB可能有一個不同的語法來創建一個表以及一個完整的外部聯接語句,但我不完全確定它是什麼情況。 below在IBM dashDB的運行SQL中創建一個新表以及連接語句

CREATE TABLE SPSS as (SELECT SPSS_INPUT_TABLE.*, DIG_HISTORY.REPAIR_TYPE_DETAILS, 
DIG_HISTORY.DIG_COMPLETION_YEAR 
FROM SPSS_INPUT_TABLE FULL OUTER JOIN 
DIG_HISTORY ON SPSS_INPUT_TABLE.DISTANCE__M_=DIG_HISTORY.ILI_CHAINAGE 
ORDER by SPSS_INPUT_TABLE.DISTANCE__M_); 

回答

2

只需在括號後附加「WITH DATA」即可。這會告訴dashDB創建表並使用來自連接結果集的數據填充它。或者,當您指定「僅限定義」時,它將僅採用結果集的模式來定義新表,但不會複製結果集內容。

+0

它似乎不喜歡「WITH DATA」,但我通過放入「WITH NO DATA」來獲取標題,然後有一個「INSERT INTO tableName3」來填充相應的行,從而解決了這個問題。這是一個混亂的工作,但這是一個解決方法。 – user2880990