2010-11-09 62 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