1

うまくいけば、ここで非常に簡単な質問があります。一部の Access SQL スクリプトを Server Management Studio 2008 に変換しています。

現在、Access スクリプトは次のコード行を示しています。

IIf([rsosourceID]) IN (254,360,446),"MoneySavingExpert" as SourceName

記入例

基本的には、4 つの列を持つ一時テーブルを作成します。フィールドが一致すると、左側の 3 つの数字が表示され、4 番目の列に新しい名前が入力されます。(後のレポートでグループ化に使用)

SQLで同様のことを行うにはどうすればよいですか? Case ステートメントを使用してみましたが、私の知る限りでは、対象のフィールドのみを変更します。

この場合、あるフィールドを調べてから、その結果を使用して別のフィールドを変更する必要がありますか?

4

1 に答える 1

2

caseステートメントは、他の列の値を使用して新しい列を返すことができます。

SELECT rsoSourceID,
    rsoDescription, 
    rsoCategory,
    case when rsoSourceID in (254,360,446)
        then 'MoneySavingExpert'
        else null end as SourceName
FROM TableName
于 2012-05-01T15:44:33.507 に答える