mysql - 多表连接

标签 mysql sql

我有下表:

  1. 委员会[ID、名称、Total_Amount、Total_Members、Starting_Date、Ending_Date]

  2. committee_group [ID、名称、Total_Members]

  3. Group_Member [Id、Group_Id、Member_Name、贡献]

我想从committee_group中选择Name,其中Group_Member的贡献总和等于委员会的Total_Amount

这就是我目前所拥有的

SELECT committee_group.*, Sum(Case When group_member.Group_Id='1'
                                   THEN group_member.Contribution
                                   ELSE 0 END) 
FROM committee_group
  LEFT JOIN group_member ON group_member.Id = committee_group.Id
  LEFT join comitees ON group_member.Contribution = comitees.Total_Amount

最佳答案

这应该有效,

SELECT a.id,a.Name,a.Total_Members,c.Total_Amount
FROM committee_Group a
INNER JOIN (SELECT Name,sum(Contribution) as 'Sum_Con'
            FROM Group_Member
            GROUP BY Name)b on a.Id=b.Id
INNER JOIN comitees c on c.Total_Amount=b.Sum_Con
                     and b.Name=c.Name

关于mysql - 多表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32370285/

相关文章:

php - MYSQL全文索引存在但显示错误1191

mysql - 如何获得 2 列的不同计数值?

c# - c#从sql数据库读取数据内存泄漏

java - 使用 getJdbcTemplate.query(sql,new Object[],rowmapper)) 时如何使用 union 运算符设置 sql 查询的参数?

sql - 为什么多表连接会产生重复行?

mysql - 查询返回多行

mysql联合优化

mysql - 插入麻烦

php - Laravel 计算最重复的项目

mysql - 合并查询(SELECT + UPDATE)