У меня возник вопрос относительно MySQL.SUM строк с GROUP CONCAT и LEFT JOIN
Я получил следующие таблицы:
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) и общую сумму (Сумма стоимости).
Это результат я ожидаю:
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
Что я делаете неправильно здесь?