2015-04-23 432 views
1

我試圖從document_image_volume1_rename_temp表中將new_file_name列數據插入到document_image_volume1_rename表中。兩個表都有一列document_image_id如何在SQL Server中將列數據從一個表插入另一個表

USE myDatabase 

INSERT INTO document_image_volume1_rename (new_file_name) 
    SELECT 
     new_file_name 
    FROM 
     document_image_volume1_rename_temp 
    WHERE 
     document_image_volume1_rename.document_image_id = document_image_volume1_rename_temp.document_image_id 

這裏的錯誤消息:

消息4104,級別16,狀態1,行10
多部分標識符 「document_image_volume1_rename.document_image_id」 無法綁定。

+2

所以,我是正確的,得出結論,你實際上不希望**將新行插入到'document_image_volume1_rename'?你實際上是想**更新**現有行**中的值(從空值或值到新值)? –

回答

2

我想你實際上是在尋找一個UPDATE查詢而不是INSERT查詢。如果你不希望添加新行,但只是修改現有行一列,試試這個:

UPDATE t2 
SET t2.new_file_name = t1.new_file_name 
FROM document_image_volume1_rename_temp t1 INNER JOIN document_image_volume1_rename t2 ON t1.document_image_id = t2.document_image_id 

由DBMS上UPDATE查詢語法一本方便的可以Eric's answer here找到。

+0

是的!這工作。 – ComfortablyNumb

相關問題