在 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中文网其他相关文章!