php - 合并两个表并求和 mysql

标签 php mysql sum

我想连接两个表,但我不能这样做,因为我想对列求和并获得两个日期之间的结果

第一个表名为:vip_allotment_details

allotment_id    qty
2                3
2                5
1                2
1                4

第二个表名称:vip_allotment

id   date_from  date_to
1    2017-10-1  2017-10-5
2    2017-10-6  2017-10-10

我想要从查询中得到这个结果

id    qty  date_from   date_to
1      6   2017-10-1   2017-10-5
2      8   2017-10-6   2017-10-10

我将解释结果:

第一个allotment_id字段与第二个表中的id字段链接,结果我希望我们可以通过date_from和date_to之间的两个字段(id,allotment_id)计算数量之和

这是我的尝试:

$query1 = "
SELECT SUM(qyt) as total
   FROM vip_allotment_details 
 where allotment_id IN ( SELECT id from vip_allotment where date_from >= '$date_1' AND date_to <= '$date_2') 
";

在我的查询中,结果获取了没有过滤器的所有数量字段的总和..

我希望我已经很好地解释了我的问题。

谢谢/。

最佳答案

我还没有尝试过,但也许你可以这样尝试:

SELECT a.id AS id, SUM(qyt) AS qty, date_from, date_to
FROM vip_allotment AS a
LEFT JOIN vip_allotment_details AS b on b.allotment_id = a.id
WHERE a.date_from >= '{thedatestart}' AND a.date_to <= '{thedateend}'
GROUP BY a.id
ORDER BY a.id ASC;

关于php - 合并两个表并求和 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46757718/

相关文章:

php - 在 Laravel 4 中使用数据库填充选择标签

php - Try-Catch 未捕获自定义异常类型

php - 从 Zend Framework 1 迁移到 Zend Framework 2

php - PHP 中的 MySQL 语法错误

php - 如何使用 php 从 mysql 查询中提取表名?

Java如何获得每个枚举的所有值的总和

php - ob_start() 正在部分捕获数据

php - 在codeigniter中显示具有相同组名的多条记录

mysql - SQL:求和返回结果的最大值

list - Prolog中列表的偶数和奇数之和