我有三张表,一张用于用户,一张用于订单,最后一张包含订单商品。
我已经创建了一个 SQL 查询来获取所有订单并将用户加入到结果中,现在我想将订单项目加入到查询中。一个订单可以有多个订单项目。每个订单项目都有一个价格。我需要与 order_item 对应的所有 order_items 的总和。
所以我会得到如下所示的结果: id, order_id, userid, order_time, id, name, email, price
现在我的查询看起来是这样的:
SELECT huxwz_user_orders.*, huxwz_users.name, huxwz_users.email, huxwz_users.id, SUM(huxwz_user_orderitems.price)
FROM huxwz_user_orders
LEFT OUTER JOIN huxwz_users ON (
huxwz_user_orders.userid = huxwz_users.id
)
LEFT OUTER JOIN huxwz_user_orderitems ON (
huxwz_user_orders.id = huxwz_user_orderitems.orderid
)
事实是,SUM 是对所有订单项求和,这意味着我只得到一个结果:/
关于如何解决这个问题有什么想法吗?
最佳答案
SELECT huxwz_user_orders.*, huxwz_users.name, huxwz_users.email, huxwz_users.id, SUM(huxwz_user_orderitems.price)
FROM huxwz_user_orders
LEFT OUTER JOIN huxwz_users ON (
huxwz_user_orders.userid = huxwz_users.id
)
LEFT OUTER JOIN huxwz_user_orderitems ON (
huxwz_user_orders.id = huxwz_user_orderitems.orderid
)
Group BY huxwz_user_orderitems.orderid
ORDER BY huxwz_user_orders.id
我这样做了,它看起来完全符合我的要求,感谢您提供的分组信息,它成功了! :3
关于mysql - 连接语句 MySQL 中的项目总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19008697/