假設我有表A和B,表A包含30行ID,表B包含60行ID,我想通過使用不存在的地方將B.ID插入A.ID。如果B.ID不存在於表A中,表B ID將被插入表A.使用SQL Where Exist和數據類型轉換的正確方法是什麼?
INSERT INTO A(
ID)
SELECT ID
FROM B
WHERE NOT EXISTS (Select ID From A WHERE A.ID = B.ID)
我認爲在我的子查詢中存在一些問題。請告訴我如何解決這個問題。
假設A.ID屬於NVARCHAR(200)類型,B.ID屬於FLOAT類型。
INSERT INTO A(
ID)
SELECT Cast(Cast(ID as Float)as Nvarchar)
FROM B
WHERE NOT EXISTS (Select ID From A WHERE A.ID = B.ID)
但仍然有錯誤:將數據類型nvarchar轉換爲float時出錯。
TIA!
什麼問題您有? –
[如何避免SQL Server中的INSERT INTO SELECT查詢中出現重複?](http://stackoverflow.com/questions/2513174/how-to-avoid-duplicates-in-insert-into-select-query- in-sql-server) – Mark
確定這個問題解決了,謝謝Mark,但是這裏出現了另一個錯誤:將數據類型nvarchar轉換爲float時出錯。 –