sql - 在访问中的列之间拆分值的函数
问题描述
我有下表:
而且我需要根据status列的值将value列拆分成两列,还要加上两者的区别。像这样:
我可以通过使用两个单独的查询来拆分它,但是当我将它们合并在一起时,我会得到重复的值,即使我使用 Sum 并按客户分组。
解决方案
您可以起诉条件聚合:
select customer,
sum(iif(status = 'debt', value, 0)) as debt,
sum(iif(status = 'pay', value, 0)) as pay
(sum(iif(status = 'debt', value, 0)) -
sum(iif(status = 'pay', value, 0))
) as diff
from t
group by customer;
推荐阅读
- python - 如何在 python 和 CosmoDB 中的 WHERE 子句中使用列表作为参数
- powershell - Powershell > Get-Counter - CookedValue 太高
- python - 每次您输入“命中”时,我怎样才能使攻击随机?
- excel - 如何根据条件创建不同的日期范围?
- content-management-system - AEM - 将单独的样式应用于组件的创作视图和发布视图
- postgresql - 使用初始脚本创建 dockerized Postgresql
- java - 如何使用 JTable 从 mysql 数据库中删除一行?
- javascript - 将 id 动态插入到表格元素中
- node.js - 部署到 Netlify 时,使用 moment.js 设置的事件时间比本地时间提前 1:30h
- excel - 单击 Excel 中的超链接时将文本保存在 access 中