我在这方面遇到了一些麻烦。
这是我的表格的示例。
Booking
id zone_id name excursion_id
1 2 1
2 1 1
3 2 1
我有数量的表格 预订价格
id_booking id_price quantity
1 1 2
1 2 3
2 1 1
2 2 0
3 1 2
3 2 3
这里是区域表
Zone
id Name
1 a
2 b
3 c
所以我想要一张这样的 table
Zone_id Quantity
1 1
2 10
3 0
问题是当我加入表并按 excursion_id 过滤时,我没有获得所有区域。
我想知道每个区域有多少人。
最佳答案
我认为更好的方法是
select z.id, coalesce(sum(bp.quantity),0) as quantity
from Booking b
right join Zone z on z.id = b.zone_id AND b.excursion_id = 1
left join booking_price bp on bp.id_booking = b.id
group by z.id
关于php - mysql连接和求和问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690783/