【问题标题】:update a field based on null results on table join根据表连接上的空结果更新字段
【发布时间】:2013-02-13 05:07:46
【问题描述】:

我一直在寻找有关如何从另一个表中获取 SET 值的参考资料,但我们并没有真正使用此字段,因此很高兴将其设置为通用值 '1'

我只想设置 11k 个示例,其中使用此查询底部的选择删除了模型类型。

update webhelpdesk.dbo.ASSET
set MODEL_ID = N'1'
where ASSET_NUMBER = 
    (select a1.ASSET_NUMBER
    from asset a1
    left join webhelpdesk.dbo.MODEL m1 on m1.MODEL_ID=a1.MODEL_ID
    where m1.MODEL_ID is null)

返回 子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。 声明已终止。

我想我应该使用其他东西而不是更新 请帮忙

提前致谢

【问题讨论】:

    标签: tsql


    【解决方案1】:

    你应该在 WHERE 条件下使用IN 而不是=

    update webhelpdesk.dbo.ASSET
    set MODEL_ID = N'1'
    where ASSET_NUMBER IN
        (select a1.ASSET_NUMBER
        from asset a1
        left join webhelpdesk.dbo.MODEL m1 on m1.MODEL_ID=a1.MODEL_ID
        where m1.MODEL_ID is null)
    

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多