2010-11-09 76 views
1

想要更新表格列中的特定数据。查询中有多个SET表达式?

我可以使用下面的一个条目:

UPDATE [BULDING].[dbo].[TB_DATA]
SET OFFICE
_ID = '4' where OFFICE__ID = '8';

但我应该使用多次入境改变什么 - 低于显然是行不通的:

UPDATE [BULDING].[dbo].[TB_DATA]
SET OFFICE
_ID = '4' where OFFICE_ID = '8'
SET OFFICE
_ID = '4' where OFFICE_ID = '10'
SET OFFICE
_ID = '11' where OFFICE__ID = '3';

谢谢!

回答

6
UPDATE [BULDING].[dbo].[TB_DATA] 
SET OFFICE_ID = 
    case when office_id in ('8', '10') then '4' 
     when office_id = '3' then '11' 
     else office_id 
    end