2016-03-15 82 views
0

乍一看,這是我的查詢選擇每一行,並插入到另一個表

INSERT INTO T2 
SELECT T1.*, T3.DATETIME, T3.STATEID 
FROM T1 WHERE T3.DATETIME BETWEEN '01-NOV-15' AND SYSDATE 
LEFT OUTER JOIN T3 
ON (T1.DOCID = T3.DOCID); 

T1T2幾乎identicle在列數的條款;只有T2有兩列額外的(CREATIONDATE,STATEID)

每個和T2 +兩個附加列CREATIONDATE & STATEID其中僅在T3可被插入的T1需要每一行。無論T1和「T3」共享這可以用來加入他們的行列DOCID ......

一些問題依然存在,幫助深表感謝..

得到錯誤

Error report - 
SQL Error: ORA-00933: SQL command not properly ended 
00933. 00000 - "SQL command not properly ended" 
+0

請問你能更好的解釋一下這個問題嗎?你有錯誤還是意想不到的結果? – Aleksej

+0

還存在什麼問題? – sagi

回答

2

的問題在在WHERE條款的位置,其中有來連接表的名單後:

INSERT INTO T2 
SELECT T1.*, T3.DATETIME, T3.STATEID 
FROM T1 
LEFT OUTER JOIN T3 
    ON (T1.DOCID = T3.DOCID) 
WHERE T3.DATETIME BETWEEN '01-NOV-15' AND SYSDATE; 
2

你的語法不正確,WH在加入之後:

INSERT INTO T2 
SELECT T1.*, T3.DATETIME, T3.STATEID 
FROM T1 
LEFT OUTER JOIN T3 
ON (T1.DOCID = T3.DOCID) 
WHERE T3.DATETIME BETWEEN '01-NOV-15' AND SYSDATE 
+0

哈哈,10秒鐘:)沒問題。 – sagi

+0

你能在這裏回答http://stackoverflow.com/questions/36035397/sql-error-ora-14300-while-partitioning-and-subpartitioning –

相關問題