2017-10-26 6 views
0

私は月が09 date3選択されたときに、月08日付2選択したときに、クエリのSQLを作成したいテーブルのトランザクション(トランス)select fieldオプションのクエリを使用して、case query SQL Serverを使用する方法?

noacc month date1 date2 date3 
101 09 50 20 30 
102 08 20 21 25 

を持っています。このようなクエリを作成したい

Case When trans.month = 09 
THEN 
(SELECT trans.date3 From trans) 
ELSE 
(SELECT trans.date2 From trans) 
END 
FROM trans 

私に提案をお願いします。あなたが欲しいものを推測するのは難しいのは、その種

SELECT case When trans.month = '09' THEN date1 ELSE date2 end 
FROM trans 
+0

としても、短いを表現することができますか? –

+0

T-SQLの 'CASE'は、いくつかの可能な選択肢の中から1つの原子値*を返す**式**(' a + b 'のような)です。ただし、条件付きで1つのコードブロックを実行するために使用することはできません。そのためには、IF ... ELSE ....構造体を使用する必要があります –

答えて

0

前にありがとうございました。たぶん典型的な期待出力を提供するでしょうか?

はとにかくあなたが行によって、この評価された行をしたい推測し、正しい構文は

Select 
Case When trans.month = 09 
THEN 
trans.date3 
ELSE 
trans.date2 
END 
AS Date 
FROM trans; 

であるあなたは、月の列のデータ型である

Select IIF(month = 09, date3, date2) as Date 
From trans 
0
SELECT 
    CASE month 
     WHEN 9 THEN date3 
     WHEN 8 THEN date2 
    END as CalculatedMonth 
FROM trans 
0

:これを試してみてください

0
select case when trans.month=09 then date3 else date2 end from tans 
0

:これを試してみてください

Select 
case when trans.month = 09 then trans.date3 
    else trans.date2 
end as [date] 
FROM trans 
関連する問題