我在做一个费用/预算跟踪系统,在某个地方卡住了。
我有四张table
TBL项目
TBL分类
t笔划
tblincomes公司
TBL项目与TBL类别的比例为1:1,
TBL费用与TBL项目的比例也为1:1,
同样适用于TBL项目,与TBL项目的比例为1:1
我试图得到每年每个类别组的费用和收入的总和(从列中) tblProjects.proj_sdate
),加上一列将显示损益(支出-收入)。
例如,我想知道花费的总额,收入的总额,旅行、体育等的损益值。
下面是我想要达到的目标的例子;
我设法提出了两个查询,下面分别是收入和支出。但不知道如何组合它,使它成为一个单一的查询和执行减法以及获得损益值。
1)Incomes
SELECT category.cat_title as Category, group_concat(distinct
projects.proj_title) as Projects, date_format(projects.proj_sdate, '%Y') as
Year, sum(incomes.inc_amount) as Total_Incomes from category inner join
projects on projects.proj_cat = category.cat_id inner join incomes on
incomes.projects_id = projects.proj_id group by category.cat_title,
date_format(projects.proj_sdate, '%Y')
2)Expenses
SELECT category.cat_title as Category, group_concat(distinct
projects.proj_title) as Projects, date_format(projects.proj_sdate, '%Y') as
Year, sum(expenses.exp_amount) as Total_Expenses from category inner join
projects on projects.proj_cat = category.cat_id inner join expenses on
expenses.projects_id = projects.proj_id group by category.cat_title,
date_format(projects.proj_sdate, '%Y')
2条答案
按热度按时间8ehkhllq1#
你可以在下面试试
lfapxunr2#
我想这个查询会给你你想要的结果。因为每个项目可以有多个支出和收入行,所以需要连接到收入和支出汇总表(按项目),而不是原始表。所有测试的结果
JOIN
然后按Category
以及Year
:结果(对于问题中的样本数据):
在dbfiddle上演示