SQL将值从一个表列更新到另一个[重复]

Posted

技术标签:

【中文标题】SQL将值从一个表列更新到另一个[重复]【英文标题】:SQL Update values from one table column to another [duplicate] 【发布时间】:2017-06-01 19:31:35 【问题描述】:

我有一个简单的选择语句来标识我要更新的行。基本上我想将 vad_description 复制到 vb_description 并且不能完全弄清楚这一点。任何帮助将不胜感激。

    SELECT
  variant_bom.vb_id
 ,variant_bom.vb_description
 ,variant_detail.vad_description
FROM dbo.variant_bom
INNER JOIN dbo.variant_detail
  ON variant_bom.vb_vad_id = variant_detail.vad_id
INNER JOIN dbo.variant_setting
  ON variant_setting.vas_vad_id = variant_detail.vad_id
WHERE variant_setting.vas_manufactured_variant = 1
AND variant_setting.vas_discontinued_product = 0

【问题讨论】:

【参考方案1】:

试试这样的

UPDATE vb
SET    vb.vb_description = vd.vad_description
FROM   dbo.variant_bom vb
       INNER JOIN dbo.variant_detail vd
               ON vb.vb_vad_id = vd.vad_id
       INNER JOIN dbo.variant_setting vs
               ON vs.vas_vad_id = vd.vad_id
WHERE  vs.vas_manufactured_variant = 1
       AND vs.vas_discontinued_product = 0 

为表命名 Alias 将使您的查询更具可读性

【讨论】:

哇。那很快。 +1 那很快。我得到以下回复|错误 (1,1):字符串或二进制数据将被截断。声明已终止。 @TowelsRus variant_bom.vb_description & variant_detail.vad_description 列的长度是多少? 啊,我可以在那里看到问题,100 个字符与 250 个字符 @TowelsRus 所以您需要将长度更改为 250,这应该可以解决您的问题

以上是关于SQL将值从一个表列更新到另一个[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用相同的主键将值从一行添加到另一行 - Oracle SQL

通过单击提交按钮将值从一个 jsp 移动到另一个 [重复]

将值从一项活动更新到另一项活动

将值从一个 Python 程序传递到另一个程序

SQL根据条件将值从一列复制到另一列

如何将值从一个php页面传递到另一个? [复制]