MySQL で CASE..WHEN ステートメントを使用する場合、予期せぬ事態を避けるためにその正しい使用法を理解することが重要です
提供されたクエリでは、course_enrollment_settings.base_price がすぐに含まれていることが問題の原因です。ケースの後。適切に動作させるには、この式を削除する必要があります。
MySQL は 2 つの形式の CASE ステートメントをサポートしています:
形式 1 (単純な CASE):検索条件なしの単純な比較に使用されます。
形式 2 (検索条件 CASE): 検索条件および複雑な式に使用されます。
指定されたクエリでは検索条件を使用しているため、2 番目の形式が必要です。 course_enrollment_settings.base_price を削除すると、CASE ステートメントは次のようになります。
CASE WHEN course_enrollment_settings.base_price = 0 THEN 1 ... END
この修正により、クエリは意図した結果を生成するようになります。
以上がMySQL で CASE...WHEN ステートメントを正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。