我一直在寻找关于如何从另一个表中获取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。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。 声明已经终止。
我想我应该使用其他东西而不是更新 请帮忙
提前致谢
答案 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)