プログラミング言語でこれを実行できることはわかっていますが、フロントエンド コードを邪魔する必要がないように、SQL 内で実行したいと考えています。
name1、name2、name3 の 3 つの名前フィールドを持つテーブルがあります。
これらのフィールドのいずれかまたはすべてに値がランダムに存在する可能性があります。
次のような 3 つのフィールドを返すクエリが必要です。
name1、name2、name3 をチェックします。最初のフィールドの値は first_name に入り、2 番目のフィールドの値は second_name に入り、次に third_field に入ります。
first_name を入力するための CASE-END ステートメントを簡単に記述できますが、second_name のロジックを記述しようとすると、さらに複雑になります。
SQL:
SELECT
CASE
WHEN NAME1 IS NOT NULL
THEN NAME1
ELSE
CASE
WHEN NAME2 IS NOT NULL
THEN NAME2
ELSE
CASE
WHEN NAME3 IS NOT NULL
THEN NAME1
ELSE ''
END
END
END FIRST_NAME
FROM TABLE_NAME
では、second_name と third_name をどのように処理すればよいでしょうか。それとももっと簡単な方法ですか?
どんな助けでも大歓迎です..