首页 > 数据库 > 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 语句,允许用户有条件地评估列值并为其赋值。

考虑一个场景,其中存在一个名为“tbl_transaction”的表,其中包含事务 ID、操作类型(费用或收入)、标题等列和金额。目标是生成两个附加列:收入金额和费用金额,应根据交易类型填充适当的金额。

要使用 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 列,并根据其值将相应的金额分配给收入金额或支出金额 柱子。当操作为“收入”时,action_amount 分配给“收入金额”,而对于“费用”,则将其分配给“费用金额”。对于既不是收入也不是支出的操作,将为两列分配 NULL。

因此,查询会生成一个包含所需列的输出表,其中每行包含交易 ID、标题、收入金额 (如果适用),以及费用金额(如果适用)。这样可以根据交易类型轻松分析和分类。

以上是如何使用 CASE 语句填充 MySQL 中的条件列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板