条件が満たされているテーブルから列を選択するクエリがありますが、このロジックは複数回繰り返されます(必要な列ごとに1回)それを行う方法。TSQL - CASE WHENステートメントの複数のエイリアス
SELECT
CASE
WHEN (date1 IS NULL) THEN [date2]
WHEN (date1 IS NOT NULL OR (date1 IS NOT NULL AND date2 IS NOT NULL)) THEN [date1]
ELSE ''
END AS selectedDate
//Repeat above statement for [day], [hour], [minute]
は、私は彼らがすべてではなく、列ごとに同じ文を複数回書き換えの同じ条件に依存しているように、その可能性は、別の別名を持つ同じ文の下にこれらのcase文の数を集計する場合のために、知りたいですたとえば私は、次のことを試してみました:
あなたが記述されている方法でSELECT
CASE
WHEN (date1 IS NULL) THEN [date2] as "selectedDate", [day2] as "day", [hour2] as "hour", [minute2] as "minute"
WHEN (date1 IS NOT NULL OR (date1 IS NOT NULL AND date2 IS NOT NULL)) THEN [date1] as "selectedDate", [day1] as "day", [hour1] as "hour", [minute1] as "minute"
ELSE ''
CASEロジックを保持し、手に入らない場合は、日付を入力するだけの関数を書くことができます。 – Jens
@Jens私はそれを考えていましたが、idは値ではなくパラメータとして列を渡す必要がありますか? –