MySQL SELECT クエリの IF ステートメント
MySQL SELECT クエリで IF ステートメントを使用しようとする場合、その制限を理解することが重要です。 MySQL の IF ステートメント。
MySQL では、IF/THEN/ELSE 構造はストアド プロシージャおよびストアド関数内でのみ有効です。したがって、WHERE 句で IF/THEN/ELSE ステートメントが使用されているため、指定されたクエリは正しく実行されません。
SELECT クエリで条件ステートメントを処理するには、IF() 関数を使用できます。ただし、その機能は IF/THEN/ELSE 構造とは異なります。 IF() 関数は条件を評価し、true の場合は指定された値を返し、false の場合は別の値を返します。これは主に、特定の条件に基づいてデータを動的に選択するために SELECT 句で使用されます。例:
SELECT IF(JQ.COURSE_ID=0, 'Some Result If True', 'Some Result If False'), OTHER_COLUMNS FROM ... WHERE ...
ただし、クエリ例のように、IF() 関数を使用して WHERE 句のフローを制御することはできません。目的の機能を実現するには、複数のネストされた WHERE 句または CASE ステートメントを使用して条件を評価するようにクエリを再構築することを検討してください。
以上がMySQL SELECT クエリに条件付きロジックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。