0

別の列の値に基づいて列を異なる方法で変換する、ビューのCASEステートメントの記述についてサポートが必要です。例えば:

 CASE b.Column1 WHEN 1 THEN 'No' ELSE 'Yes' END AS Yes_or_No

これは素晴らしいことです。Column1を別のテーブルから「Yes_or_No」という列に変換します。これは、Column1が1の場合は「No」を表示し、Column1が「0」またはNULLの場合は「Yes」を表示します。

問題は、ビュー内の別の列Column2に「Dev」という値がある場合にのみこれを発生させたいということです。したがって、Column2の値が「Dev」の場合、上記のCASEステートメントが有効になります。Column2の値が「Test」または「Prod」の場合、「Yes_or_No」を単にNULLにします。

4

2 に答える 2

1
CASE b.Column1 WHEN column2 <> 'dev' then null 
when 1 THEN 'No' 
ELSE 'Yes' END AS Yes_or_No

参照

于 2012-12-11T18:28:34.343 に答える
1

簡単なアプローチは、ネストされた case ステートメントです。

CASE WHEN Column2 = 'Dev' THEN
       case b.Column1 when 1 then 'No' else 'Yes' end
     WHEN Column2 in (  'Test', 'Prod' ) THEN 
       Null 
END  AS Yes_or_No

読みやすくするために、外側の大文字と内側の小文字で書きましたcase

于 2012-12-11T18:30:27.513 に答える