Получите список всех заказов клиентов по месяцам, и если у клиента нет заказа в данном месяце, укажите строку для этого месяца с 0 в качестве общей суммы заказа. В одном заявлении? Итоги уже рассчитаны, нет необходимости в агрегатной функции.Заказ клиента в целом по месяцам, со всеми перечисленными клиентами, даже если у клиента не было заказов в месяц, в одном заявлении SQL?
Использование функции коалесценции приемлемо.
Учитывая перечень сумм заказов клиентов в месяц:
create table orders (cust char(1), month num, exps num);
insert into orders
values('a', 1, 5)
values('b', 2, 4)
values('c', 1, 8);
и список клиентов:
create table custs(cust char(1));
insert into custs
values('a')
values('b')
values('c')
values('d');
Сформировать эту таблицу:
cust, month, exps
a, 1, 5
a, 2, 0
b, 1, 0
b, 2, 4
c, 1, 8
c, 2, 0
d, 1, 0
d, 2, 0
базы данных вы используете? –
Какая СУБД вы используете? Это можно легко сделать с помощью 'generate_series()' в Postgres. С рекурсивным общим табличным выражением в ANSI SQL. –
@vkp Это будет сервер SAS. – Snorex