3

我想根据表中的另一个字段在我的表中设置一个字段。

这是我想要的功能:

set result = Win if ((select status from tableY) like '%Won%')
set result = Loss if ((select status from tableY) like '%lost%')

这不编译...我如何获得正确的功能?

4

2 回答 2

5
set result = case when (select status from tableY) like '%Won%'
                  then 'Win'
                  when (select status from tableY) like '%lost%'
                  then 'Lost'
               -- If neither win or lose don't change a thing
                  else result
              end
于 2012-08-08T18:09:05.873 回答
1

那么,您正在尝试更新 tableY 中的列?

UPDATE tableY SET Result = CASE WHEN status LIKE '%Won%' then 'Win' 
                                ELSE 'Loss'
                           END
WHERE (status LIKE '%Won%'  AND COALESCE(Result,'') != 'Win')
   OR (status LIKE '%Lost%' AND COALESCE(Result,'') != 'Loss')
于 2012-08-08T19:19:43.157 回答