0
Мой запрос суммированием платы на основе ковшики таблицы (который находится в 3 части) результат должен быть 13 000, но я получаю 39000.Применить DISTINT на JOIN таблицы не работает
# Order table
-------------------------------------------
| Id | order | Name | Fee |
-------------------------------------------
| 1 | SELECT STATEMENT | ab | 13000 |
-------------------------------------------
# Work table
-----------------------------
| Id | user id | order id |
-----------------------------
| 1 | 123 | 1 |
| 2 | 123 | 1 |
| 3 | 123 | 1 |
-----------------------------
# Query
SELECT o.order_id, SUM(o.fee) AS total_words
FROM users AS u
LEFT JOIN works AS wr ON wr.user_id = u.id
LEFT JOIN orders AS o ON o.order_id = wr.order_id
WHERE u.id = 123
# Output =>
Array
(
[order_id] => 1
[fee] => 39000
)
Я попытался DISTINCT и группы, но я получаю тот же результат.
Ваш псевдоним таблицы перепутались. В какой таблице используется псевдоним 'a'? –
Cheers @SameerMirji это 'user' as' u' – Fury
Данные таблицы 'works' увеличивают ваши результаты, поскольку (user_id, order_id) не уникален. 'GROUP BY' помогла бы вам, если бы вы группировались на' work.id' – Uueerdo