我有一张桌子"记录" [记录] [1]
select typeofservice,
Coalesce(sum(incomecost,expensecost),0) 'incomecost,expensecost'
from records
where dateoftrans = '2016-11-22'
group by typeofservice with rollup;
我希望能够在第二张图片上显示结果,这是我的查询...所有这些交易都发生在一天。请帮忙
答案 0 :(得分:0)
以下查询假设,对于给定类型的服务,您希望在收入成本总和超过费用成本之和时报告收入,反之亦然。在每种情况下,收入和费用之间的差异都会在相应的列中报告,并在备用列中报告NULL
。
SELECT typeofservice,
CASE WHEN SUM(incomecost) - SUM(expensecost) > 0
THEN SUM(incomecost) - SUM(expensecost)
ELSE NULL END AS incomecost,
CASE WHEN SUM(expensecost) - SUM(incomecost) > 0
THEN SUM(expensecost) - SUM(incomecost)
ELSE NULL END AS expensecost
FROM records
WHERE dateoftrans = '2016-11-22'
GROUP BY typeofservice
WITH ROLLUP
答案 1 :(得分:0)
如果仅针对第二张图片的结果,您可以尝试这样sum(incomecost)
和sum(expensecost)
:
SELECT
typeofservice,
Coalesce(SUM(incomecost), 0) AS incomecost,
Coalesce(SUM(expensecost), 0) AS expensecost
FROM records
GROUP BY typeofservice
WITH ROLLUP