【问题标题】:How to insert column data from one table into another in SQL Server如何在 SQL Server 中将一个表中的列数据插入到另一个表中
【发布时间】:2015-04-23 18:11:06
【问题描述】:

我正在尝试将document_image_volume1_rename_temp 表中的new_file_name 列数据插入document_image_volume1_rename 表中。两个表都有一个列document_image_id

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”。

【问题讨论】:

  • 那么我是否可以正确地得出结论,您实际上并不想插入新行到document_image_volume1_rename 中?您确实想要更新现有行中的值(从空值或值到新值)?

标签: sql-server


【解决方案1】:

我认为您实际上正在寻找的是 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

可以在Eric's answer here 中找到有关 DBMS 的 UPDATE 查询语法的便捷参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多