mysql - 在mysql中连接不同表时的不同记录总和

标签 mysql

表:O

ID  Date
1   2016-01-10
2   2016-01-10
3   2016-01-11

表:外径

ODI   ID     Quantity
1     1        1 
2     1        2
3     2        1
4     3        1

表:OH

OHI   ID
1     1         
2     2       
3     1        
4     3  

我有三个表 O、OD、OH。我需要加入这三个表并获取每天的数量总和。
试过了

SELECT O.date,SUM(od.Quantity),group_concat(OHI) FROM O
INNER JOIN OD ON OD.ID = O.ID
INNER JOIN OH ON OH.ID = O.ID
GROUP BY O.date;

但由于加入了 OH 表,结果数量总和不同。现在我如何获得正确的总和。

预期结果:

Date   SUM(od.Quantity)
2016-01-10        4       
2016-01-10        1

对于问题的改变感到抱歉。

最佳答案

您不需要加入 OH 表,这可以通过以下查询完成:

SELECT O.ID,SUM(od.Quantity) FROM O
INNER JOIN OD ON OD.ID = O.ID
GROUP BY O.ID;

关于mysql - 在mysql中连接不同表时的不同记录总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565174/

相关文章:

php - 为什么将 MySQL 凭据放在 www 目录之外?

sql - 创建具有与表中其他列相关的身份的表

php - 我的表单正在提交多个数据库条目,但我不希望它这样做

MySQL - 如何将选择查询的结果放入现有查询中?

python - 在内存中运行 Django MySQL 测试

php - 在具有多行的sql中管理子查询

java - 连接对象返回空值

php - 子查询在 MySQL Workbench 中工作,但在 PHP 中不工作

mysql - 如何在不重复的情况下将记录从表插入到另一个表

mysql - 从 MySQL 中的给定表中删除行时记录