1 つの条件に基づいて複数の列を生成する方法はありますか? 私の認識は次のようなものです:
SELECT
CASE WHEN condition_column = 'condition true' and (condition_column2 = 'condition true' or condition_column3 = 'condition true')
THEN column1 as new_column1
AND column2 as new_column2
AND column3 as new_column3
ELSE column2 as new_column1
AND column3 as new_column2
AND column1 as new_column3
これを行う私の現在の方法は次のようなものです:
SELECT
CASE WHEN condition_column = 'condition true' and (condition_column2 = 'condition true' or condition_column3 = 'condition true')
THEN column1 ELSE column2 END AS new_column1,
CASE WHEN condition_column = 'condition true' and (condition_column2 = 'condition true' or condition_column3 = 'condition true')
THEN column2 ELSE column3 END AS new_column2,
CASE WHEN condition_column = 'condition true' and (condition_column2 = 'condition true' or condition_column3 = 'condition true')
THEN column3 ELSE column1 END AS new_column3
しかし、複雑な条件の場合、これはステートメントの非常に長いリストになります。