【发布时间】:2015-08-26 05:05:15
【问题描述】:
我有一个关于 MySQL 的问题。
我得到了以下表格:
Invoices
invoices_ordermapping
invoices_positions
发票:
id | userid | state
1, 10, 1
invoices_ordermapping
id | invoiceid | orderid
1, 1, Order12
2, 1, Order13
invoices_positions
id | invoiceid | value | text
1, 1, 21, Example
2, 1, 18.9, Example 2
现在我想获取分配给发票的订单(Order12,Order13)和总金额(Sum of value)。
这是我期望的结果:
Invoiceid | Orders | Sum
1, Order12, Order13, 39.9
我正在使用这个 MySQL 查询:
SELECT group_concat(DISTINCT orderid ORDER BY orderid SEPARATOR ", ") AS orderid,
SUM(ip.total) as value
FROM tbl_invoices as a
LEFT JOIN tbl_invoices_ordermapping as oi ON oi.invoiceid = a.id
LEFT JOIN tbl_invoices_positions as ip on ip.invoiceid = oi.invoiceid
GROUP BY oi.invoiceid
ORDER BY oi.invoiceid
不幸的是我得到了这个结果:
Orderid: Order12, Order12, Order13, Order13
Value: 119.69999885559082
我在这里做错了什么?
【问题讨论】:
标签: mysql sum left-join concat