基于表连接的空结果更新字段

时间:2013-02-13 05:07:47

标签: tsql

我一直在寻找关于如何从另一个表中获取SET值的参考资料,但我们并没有真正使用这个字段,所以我很乐意将它设置为通用值'1'

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

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。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。 声明已经终止。

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

提前致谢

1 个答案:

答案 0 :(得分:0)

您应该在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)