MySQL クエリの条件文に CASE 式を利用する
MySQL クエリを作成する場合、条件文の処理は不可欠です。 MySQL は従来の IF ELSE 構文をサポートしていませんが、同様の機能を提供する代替手段として CASE 式があります。
CASE 式の概要
CASE 式は一連の関数を評価します。条件を調べ、一致に基づいて事前定義された結果を返します。その構文は次のとおりです。
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
CASE 式を使用したクエリ
あなたの場合、条件 action=2 AND state=0 を評価して返します。 true の場合は 1、それ以外の場合は 0 を返します。CASE 式を使用すると、クエリは次のようになります。これ:
mysql_query("SELECT ...(irrelevant code)... CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END as state from tbl1");
結果へのアクセス
結果にアクセスするには、PHP 配列の state 列を使用できます:
$row['state'] //this should equal 1, depending on the database values
IF ELSE ステートメントとは異なり、CASE 式は条件を評価するだけで、データベースを変更せずに結果を返します。これにより、クエリ内で条件付きロジックを処理し、動的な結果を取得する便利な方法になります。
以上がCASE 式を使用して MySQL クエリに条件付きロジックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。