Я редко пишу SQL (Azure SQL), однако пытаюсь сгенерировать итоговую сумму продаж в месяц на одного клиента.
Клиент:
|Username |ID |
|user1 |1 |
|user2 |2 |
|user3 |3 |
Заказ:
|CustomerId |Month |Total |
|1 |1 |275 |
|1 |1 |10 |
|2 |1 |100 |
|1 |3 |150 |
|2 |2 |150 |
|2 |2 |65 |
|3 |2 |150 |
Я хочу произвести
|Username |Month1Total |Month2Total | Month3Total |
|user1 |285 |275 | 150 |
|user2 |100 |215 | 0 |
|user3 |0 |150 | 0 |
Я могу сделать следующее
SELECT customerTable.Username Username, SUM(orderTable.OrderTotal) TotalMay
FROM "Order" orderTable
JOIN Customer customerTable ON orderTable.CustomerId = customerTable.Id
WHERE DATENAME(Month, (orderTable.PaidDateUTC)) = 'May'
GROUP BY Username
, которое даст мне выход в месяц.Однако я не знаю, как это зациклить, делать это в месяц, а затем группировать по имени пользователя.