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

第一个表名为: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')
";


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

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

谢谢/。

最佳答案

我还没有尝试,但是也许您可以这样尝试:

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/

10-14 13:47
查看更多