首页 > 数据库 > mysql教程 > MySQL的CASE语句可以将交易金额分为收入列和支出列吗?

MySQL的CASE语句可以将交易金额分为收入列和支出列吗?

Mary-Kate Olsen
发布: 2025-01-02 12:52:40
原创
356 人浏览过

Can MySQL's CASE Statement Separate Transaction Amounts into Income and Expense Columns?

使用 CASE 语句在 MySQL 中有条件地填充列

问题:

给定一个包含事务详细信息的数据库表,是吗?可以生成两列“收入金额”和“费用金额”,根据是否存在分隔交易金额它们使用 SQL 查询表示收入或支出?

解决方案:

是的,使用 MySQL 中的 CASE 语句,可以有条件地填充列,将列分隔开基于提交的“action_type”的金额。

这是一个实现的示例查询this:

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;
登录后复制

此查询使用 CASE 语句来评估“action_type”列。如果“action_type”是“Income”,则它将“action_amount”的值分配给“income_amt”并将“expense_amt”设置为NULL。相反,如果“action_type”为“Expense”,则将“action_amount”的值赋给“expense_amt”,并将“venue_amt”设置为NULL。

正如受访者所述,MySQL 还提供了 IF( ) 函数作为 CASE 语句的替代。然而,与 MySQL 特定的 IF() 函数相比,CASE 语句由于其跨不同数据库引擎的可移植性而成为首选。

以上是MySQL的CASE语句可以将交易金额分为收入列和支出列吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

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