Мне нужно написать запрос, который создает простой отчет из 3 таблиц ниже.(SQLFiddle здесь: http://www.sqlfiddle.com/#!9/bec6b9/2)
Таблица: Программа
id | org_id | unique_name
------------------------------
1 15 pg_1
2 25 pg_2
Таблица: Заказчик
id | program_id | first_name | last_name
-------------------------------------------------
1 1 Bob Smith
2 2 John Jones
3 2 Rob Walker
** Таблица: Транзакция **
id | customer_id | amount
---------------------------------
1 1 10.00
2 1 10.00
3 2 10.00
4 2 10.00
5 2 10.00
6 2 10.00
7 3 10.00
8 3 10.00
9 3 10.00
10 3 10.00
Мне нужно сгенерировать довольно простой отчет о том, сколько клиентов принадлежит к уникальному имени каждой программы, и общую сумму транзакции для уникального имени каждой программы.
Таким образом, для этих данных это выглядело бы как ...
Program Name | # Customers | Total Amount
-----------------------------------------------
pg_1 1 20.00
pg_2 2 80.00
Вы можете увидеть SQLFiddle здесь: http://www.sqlfiddle.com/#!9/bec6b9/2
Мой текущий запрос показывает сумму транзакций для каждого клиента, но яЯ не уверен, как сгруппировать клиентов в счетчик.
select program.unique_name as "Program Name",
customer.id,
sum(transaction.amount) as "Total Amount"
from program
join customer on customer.program_id = program.id
join transaction on transaction.customer_id = customer.id
group by customer.id
Как мне также группировать по имени программы?