2013-02-13 47 views
1

我總是找到有關如何從另一個表中獲取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倍的值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。 該聲明已被終止。

我想我應該用別的東西,而不是更新 請幫助

在此先感謝

回答

0

你應該在WHERE條件

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) 
使用 IN代替 =