2014-03-19 65 views
3

我有兩個表A(column1,column2)B(column1,column2)用另一個數據填寫表格

如何確保A(column1)中的值不包含在B(column1)內並將其插入到此列中。

我的查詢會是這樣:

insert into B.column1 values() 
where 
... 

我想從A.column1

要我把什麼where子句中的數據來完成B.column1?

回答

1
Insert Into B(column1) 
Select A.Column1 
From A 
Where A.Column1 not in (Select Column1 From B) 
1

我會使用MINUS命令,並選擇從A(列1),其不是在B(列1)的所有行,然後選擇INTO結果分爲B表。

1
insert into B 
select a.column1, a.column2 from a 
left join b 
on a.column1 = b.column1 
where b.column1 is null 
+0

看來,這不適用於Oracle 9i ..它給我錯誤'關鍵字VALUES缺席'我該如何處理? – mounaim

+0

@mounaim:9i不支持現代風格明確的'JOIN'語法(請參閱:爲什麼不應該使用過時版本的另一個原因) –

+0

是的,這是一個可憐的人,你是對的;)所以我必須這樣做'NOT IN'我想.. – mounaim