CASE
ステートメントで複数の値を選択しようとしています。できないことに気づきました
CASE
WHEN wall.type="bk"
THEN books.id1,books.id2, // and so on
END as column_1,
複数の列を処理する方法はありTHEN
ますか、それとも単に一連のステートメントを記述する必要がありますCASE THEN
か?散らかっているようです
CASE
ステートメントで複数の値を選択しようとしています。できないことに気づきました
CASE
WHEN wall.type="bk"
THEN books.id1,books.id2, // and so on
END as column_1,
複数の列を処理する方法はありTHEN
ますか、それとも単に一連のステートメントを記述する必要がありますCASE THEN
か?散らかっているようです
いいえ、それは単一の値です。さらに、「複数の列」を使用して、それらの複数の列に「」という名前を付けることは矛盾していますcolumn_1
。:)
現在行っているように、別の列を使用して他のIDを格納し(同様のケース)、nullを使用してelse
値を表すことができます。
例:
CASE
WHEN wall.type="bk"
THEN books.id1
END as column_1,
CASE
WHEN wall.type="bk"
THEN books.id2
END as column_2
詳細については、公式ドキュメントを確認してください。
いいえ。CASEステートメントは単一の値しか返せないため、必要なものを達成する唯一の方法はケースを複製することです...
データベース サーバーは最適化され、同じ条件で 1 回だけチェックを実行する必要があります ...