【问题标题】:SQL Update values from one table column to another [duplicate]SQL将值从一个表列更新到另一个[重复]
【发布时间】: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

【问题讨论】:

    标签: sql sql-server


    【解决方案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,这应该可以解决您的问题
    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 2021-11-12
    • 2021-10-28
    • 2017-01-13
    • 1970-01-01
    • 2015-02-01
    • 2021-10-16
    • 2011-04-18
    相关资源
    最近更新 更多