2015-04-23 575 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

相关问题