将 concat 和 sum 与左连接 mysql 分组
Posted
技术标签:
【中文标题】将 concat 和 sum 与左连接 mysql 分组【英文标题】:group concat and sum with left join my sql 【发布时间】:2015-12-11 19:41:21 【问题描述】:我有 3 张桌子
订单
(id,package_id,rooms
)
orders_date (id,order_id,date
)
包 (id,package_name
)
在 orders_date 表中,我有多个相同订单的行
我想要的结果如下
date(with group_concat) package_name rooms(sum of rooms.. as we will 按包 id 分组)
感谢您的帮助。
谢谢
【问题讨论】:
SELECT o.package_id,GROUP_CONCAT(od.confirmed_date) AS confirm_date,p.package_name
,SUM(o.rooms
) AS 房间 FROM tbl_orders
o LEFT JOIN tbl_order_dates
od ON o.id
=od.order_id
LEFT JOIN tbl_holiday_packages
p ON p.id
=o.package_id
WHERE o.flag
='0' GROUP BY o.package_id
谁能解决这个问题??
【参考方案1】:
如果有人需要,我找到了解决方案。 以下是查询
SELECT package_id,rooms,GROUP_CONCAT(od.`confirmed_date`),package_name
FROM
(
SELECT o.id,o.package_id,SUM(o.rooms) AS rooms,o.flag,h.`package_name`
FROM tbl_orders o
LEFT JOIN `tbl_holiday_packages` h ON o.`package_id`=h.`id`
GROUP BY o.package_id
) o
LEFT JOIN
tbl_order_dates od ON o.id=od.`order_id`
WHERE o.flag='0'
GROUP BY o.package_id
【讨论】:
以上是关于将 concat 和 sum 与左连接 mysql 分组的主要内容,如果未能解决你的问题,请参考以下文章