テーブル内の別のフィールドに基づいてテーブル内のフィールドを設定したいと考えています。
これは私が欲しい機能です:
set result = Win if ((select status from tableY) like '%Won%')
set result = Loss if ((select status from tableY) like '%lost%')
これはコンパイルされません... 正しい機能を得るにはどうすればよいですか?
テーブル内の別のフィールドに基づいてテーブル内のフィールドを設定したいと考えています。
これは私が欲しい機能です:
set result = Win if ((select status from tableY) like '%Won%')
set result = Loss if ((select status from tableY) like '%lost%')
これはコンパイルされません... 正しい機能を得るにはどうすればよいですか?
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
では、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')