ホームページ > データベース > mysql チュートリアル > CASE ステートメントを使用して MySQL の条件付き列を設定するにはどうすればよいですか?

CASE ステートメントを使用して MySQL の条件付き列を設定するにはどうすればよいですか?

DDD
リリース: 2025-01-05 14:16:39
オリジナル
449 人が閲覧しました

How Can I Populate Conditional Columns in MySQL Using a CASE Statement?

MySQL での Case ステートメントを使用した条件付きカラムの設定

データベース テーブルを操作する場合、多くの場合、動的に設定される新しいカラムを作成することが必要になります。特定の条件に基づいたデータ。 MySQL には CASE ステートメントが用意されており、ユーザーが条件付きで評価して列に値を割り当てることができます。

トランザクション ID、アクション タイプ (経費または収入)、見出しの列を持つ「tbl_transaction」というテーブルが存在するシナリオを考えてみましょう。 、金額。目標は、Income Amt と Expense Amt という 2 つの追加列を生成することです。これらの列には、トランザクション タイプに基づいて適切な金額を設定する必要があります。

SQL クエリを使用してこれを実現するには、CASE ステートメントを使用できます。

SELECT
    id,
    action_heading,
    CASE
        WHEN action_type = 'Income' THEN action_amount
        ELSE NULL
    END AS income_amt,
    CASE
        WHEN action_type = 'Expense' THEN action_amount
        ELSE NULL
    END AS expense_amt
FROM tbl_transaction;
ログイン後にコピー

このクエリは、各トランザクションの action_type 列を評価し、その値に基づいて、対応する金額を収入額または支出額に割り当てます。 カラム。アクションが Income の場合、action_amount は Income Amt に割り当てられ、Expense の場合、action_amount は Expense Amt に割り当てられます。収入でも支出でもないアクションの場合、両方の列に NULL が割り当てられます。

その結果、クエリは目的の列を含む出力テーブルを生成します。各行にはトランザクション ID、見出し、収入金額 (該当する場合)、および経費額(該当する場合)。これにより、トランザクションの種類に基づいてトランザクションを簡単に分析および分類することができます。

以上がCASE ステートメントを使用して MySQL の条件付き列を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート