2011-09-05 53 views
1

我需要比較兩個表Main_TableOUT-TableOUT_Table包含數據,但Main_Table可能沒有我需要比較這些表,如果沒有匹配,那麼只需要插入這些無與倫比的值Main_Table所有data..so。這是我的查詢......如何比較兩個表,如果沒有匹配將這些值插入到沒有數據的表中?

Insert into Main_Table MT (MT.SerialNo) values (Select SerialNo 
from Main_Table MT where not exists (select SerialNo from OUT_Table OT 
where OT.SerialNo = MT.SerialNo)) 

這是從out_Table其不在Main_Table選擇的值,但不插入值插入MAIN_TABLE。我使用Oracle數據庫,Java(JSP)。請幫助我做到這一點。

+0

'INSERT ... SELECT ...'不帶'VALUES'嘗試刪除它 – 2011-09-05 05:43:18

+0

聽起來不像一個輝煌的設計 但我認爲ü需要刪除「價值」 – miki

+0

感謝您的答覆.. 。試試這個。 – sailaja

回答

2
Insert into Main_Table MT (MT.SerialNo) 
values (Select SerialNo 
     from Main_Table MT 
     where not exists (select SerialNo 
          from OUT_Table OT 
          where OT.SerialNo = MT.SerialNo 
         ) 
     ) 

INSERT INTO..SELECT FROM語法,你在這裏使用的是不正確的,在這裏不需要的values關鍵字。應該只是

Insert into Main_Table MT (MT.SerialNo) 
(Select SerialNo 
     from Main_Table MT 
     where not exists (select SerialNo 
          from OUT_Table OT 
          where OT.SerialNo = MT.SerialNo 
         ) 
) 

下面是that Oracle documentation提供的示例。

+0

非常感謝您的快速回復。會試試這個。 – sailaja

+0

非常感謝你的回覆。它的工作。 – sailaja

+0

@sailaja如果它正在工作,接受答案並不會傷害。 –

相關問題