将SQL列从一个复制到另一个,维护ID

时间:2015-06-10 16:11:18

标签: sql sql-server sql-server-2008

我希望将SQL长二进制数据从“照片”列复制到“id_photo_c”列。两列都在单独的表中。有一个查询来准确显示我需要的内容,但不幸的是你不能复制&粘贴mssql的“结果窗格”中的输出。

我无法将整个表从一个复制到另一个,新数据库有更多行(包括一些重复项)。

http://i.imgur.com/tmRpMh2.png

以下是代码:

SELECT 
[GroupTables].[dbo].[VisitorsAdvanced].[RecordNumber], [
GroupTables].[dbo].[VisitorsAdvanced].[photo], 
[SugarCRM].[dbo].[contacts_cstm].[xxx_id_number_c], 
[SugarCRM].[dbo].[contacts_cstm].[id_photo_c] 
FROM 
[GroupTables].[dbo].[VisitorsAdvanced], SugarCRM].[dbo].[contacts_cstm] 
WHERE 
[GroupTables].[dbo].[VisitorsAdvanced].[RecordNumber] = [SugarCRM].[dbo].[contacts_cstm].[xxx_id_number_c];

这似乎是一个如此简单的任务(在Excel中需要两次点击) - 但我似乎无法让它工作。

这不是一个重复的问题。我在这里看到过类似的问题,其中没有一个描述如何简单地将数据从一列复制到另一列。

谢谢。

2 个答案:

答案 0 :(得分:1)

除非我在这里遗漏了一些内容,否则您只需要一个简单的更新声明:

UPDATE [SugarCRM].[dbo].[contacts_cstm]
SET [id_photo_c] = [SugarCRM].[dbo].[contacts_cstm].[xxx_id_number_c]
FROM 
[GroupTables].[dbo].[VisitorsAdvanced]
INNER JOIN [SugarCRM].[dbo].[contacts_cstm] 
ON
[GroupTables].[dbo].[VisitorsAdvanced].[RecordNumber] = [SugarCRM].[dbo].[contacts_cstm].[xxx_id_number_c];

答案 1 :(得分:0)

这不是直接更新contacts_cstm表格中的数据吗?

UPDATE  contacts_cstm
  SET   id_photo_c = photo
  FROM  VisitorsAdvanced
  WHERE RecordNumber = xxx_id_number_c