mysql - 如何从第三个关系表中获取总和

标签 mysql

我正在开发一个费用跟踪系统并卡在了某个部分。

我在数据库中有 3 个表。

表1(项目)

enter image description here

表2(类别)

enter image description here

表3(费用)

enter image description here

tblProjects 与 tblCategory 的关系为 1:1,tblExpenses 与 tblProjects 的关系也为 1:1。

现在,我正在尝试获取每个类别的总和。例如,我想知道在旅行、运动等方面花费的总金额是多少。

我尝试使用下面的查询,但它返回了错误的数据

SELECT category.cat_title as Category, (select sum(expenses.exp_amount) 
from expenses
where expenses.projects_id = projects.proj_id) as Total_Expenses                
from category inner join projects on projects.proj_cat = category.cat_id 
group by category.cat_id

最佳答案

您可以尝试以下 -

SELECT category.cat_title,sum(expenses.exp_amount) as Category from 
category inner join projects on projects.proj_cat = category.cat_id
inner join expenses where expenses.projects_id = projects.proj_id
group by category.cat_title

关于mysql - 如何从第三个关系表中获取总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53664619/

相关文章:

mysql - 设计一个单元格有多个引用的表格的最佳方法?

php - Cakephp Mysql查询

mysql - 是否可以 count() 一个不同查询的子集?

javascript - 在 Node 中将 UUID 转换为二进制文件

php - 在不绑定(bind)的情况下使用 PDO

mysql - 如何对订购产品的每个 user_id 排序并列出前 10 个 order_ids?

php - 从 mysql 中删除选定的项目

mysql - 需要深入了解将 InnoDB 表复制到另一个数据库的脚本

mysql - SQL MIN 函数选择行

mysql - Wordpress 站点——连接到数据库时出错——仅在高流量时