2016-10-30 1 views
0

Пробовал выяснять это в течение нескольких часов и был бы очень признателен за вашу помощь!ПРИСОЕДИНЯЙТЕСЬ двумя столами, чтобы правильно составить группу и суммы

Поэтому у меня есть две таблицы, транзакции и transactions_rebuy

Моя ВЫБРАТЬ цель состоит в том, чтобы присоединиться/объединить эти таблицы и получить их сгруппированы по дате.

Сейчас у меня есть это утверждение:

SELECT tr.SoldDate, SUM(tr.TotalAmount) as SumByReceipt, 
COUNT(DISTINCT(tr.`ForsNr`)) as TotalCustomers, rebuy.RebuySum 
FROM transactions tr 
CROSS JOIN (
SELECT SUM(TotalAmount) as RebuySum 
    FROM transactions_rebuy 
    WHERE SoldDate BETWEEN '2016-10-22' AND '2016-10-27' 
    ) as rebuy 
WHERE tr.SoldDate BETWEEN '2016-10-22' AND '2016-10-27' 
GROUP by tr.SoldDate 
ORDER by tr.SoldDate DESC 

Который дает мне следующий результат:

SaldDatum SumByReceipt TotalCustomers RebuySum 

2016-10-27 54855.8001  99  10435.9997 
2016-10-26 41749.8009  76  10435.9997 
2016-10-25 46626.8001  79  10435.9997 
2016-10-24 38678.8017  76  10435.9997 
2016-10-22 30351.9997  48  10435.9997 

Проблема заключается в том, что колонка «RebuySum» группируется от общей суммы для всех указанных выше дат , Как «SumByReceipt», я хочу, чтобы он сгруппировал BY DATE, а не общую сумму в каждой строке.

Я пробовал взад и вперед с группировкой и суммой, и получил его на работу, но затем он испортил столбец «SumByReceipt».

Очень благодарен за идеи по этому вопросу.

ответ

0

Подгруппируйте по дате, затем присоедините их к дате.

SELECT tr.SoldDate, SUM(tr.TotalAmount) as SumByReceipt, 
     COUNT(DISTINCT(tr.`ForsNr`)) as TotalCustomers, IFNULL(rebuy.RebuySum, 0) RebuySum 
FROM transactions tr 
LEFT JOIN (
    SELECT SoldDate, SUM(TotalAmount) as RebuySum 
    FROM transactions_rebuy 
    WHERE SoldDate BETWEEN '2016-10-22' AND '2016-10-27' 
    GROUP BY SoldDate 
    ) as rebuy 
ON tr.SoldDate = rebuy.SoldDate 
WHERE tr.SoldDate BETWEEN '2016-10-22' AND '2016-10-27' 
GROUP by tr.SoldDate 
ORDER by tr.SoldDate DESC 
+0

Иисус, который был быстрым, спасибо миллион! – Tronik

Смежные вопросы