Как заносить в список продажи периодов тех, которые у меня нет информации?

Я считаю месячную таблицу продаж следующей:

create table ventas (
  id      int NOT NULL AUTO_INCREMENT,
  year    int,
  month   int,
  monto numeric(15,2),
  PRIMARY KEY (id)
);  

insert into ventas (year, month, monto) values (2018, 1, 100);
insert into ventas (year, month, monto) values (2018, 1, 300);
insert into ventas (year, month, monto) values (2018, 3, 340);
insert into ventas (year, month, monto) values (2018, 5, 200);
insert into ventas (year, month, monto) values (2018, 5, 100);
insert into ventas (year, month, monto) values (2018, 7, 100);
insert into ventas (year, month, monto) values (2018, 8, 100);
insert into ventas (year, month, monto) values (2018, 9, 200);
insert into ventas (year, month, monto) values (2018,11, 350);
insert into ventas (year, month, monto) values (2018,12, 440);

Я стараюсь делать доклад этих продаж в месяц, я это попробовал так:

select year,
       month,
       sum(monto) as total
       from ventas
       group by year,
                month

И я получаю что-то как это:

| year | month | total |
|------|-------|-------|
| 2018 |     1 |   400 |
| 2018 |     3 |   340 |
| 2018 |     5 |   300 |
| 2018 |     7 |   100 |
| 2018 |     8 |   100 |
| 2018 |     9 |   200 |
| 2018 |    11 |   350 |
| 2018 |    12 |   440 |

Что правильно, но поскольку возможно наблюдать, есть "пустоты", а именно, месяцы без стоимости, у меня хотел бы быть доклад, но с 12 месяцами и завершить тех, у которых не были продажи с 0, а именно нечто похожее

| year | month | total |
|------|-------|-------|
| 2018 |     1 |   400 |
| 2018 |     2 |     0 |
| 2018 |     3 |   340 |
| 2018 |     4 |     0 |
| 2018 |     5 |   300 |
| 2018 |     6 |     0 |
| 2018 |     7 |   100 |
| 2018 |     8 |   100 |
| 2018 |     9 |   200 |
| 2018 |    10 |     0 |
| 2018 |    11 |   350 |
| 2018 |    12 |   440 |

Важно

Возможно, что это не продажи, или что это какой-то другой тип данных, важно понимать концептуальную проблему, которая: что мы делаем, когда нам не хватает информации в таблице?. Когда у нас нет чтения датчика для каждых часов, когда есть исчислимые счета, которые не регистрируют движения за некие месяцы, когда мы хотим занести в список продажи всех отделений, но есть отделения, у которых не были продажи, когда мы хотим знать, все люди заняли комнату, но есть комнаты, которые никогда не были заняты, и т.д.

12
задан 08.06.2019, 00:13
0 ответов