Есть таблица journal (id, book_id, reserved_at). Мне нужно по запросу дат (от и до, дата кратна месяцу) получить список книг, которые были взяты. Книга берется в библиотеке, то есть её нельзя взять на 2-3 дня, что упрощает задачу. Сейчас это делается довольно просто:
SELECT
DATE_FORMAT(journal.created_at, '%Y-%m') as date,
count(*) as count,
books.`title` as `book_title`
FROM `journal`
LEFT JOIN books on books.id = journal.book_id
WHERE
journal.`created_at` >= "2018-08-01" AND
journal.`created_at` <= "2019-08-01"
GROUP BY `date`, `book_id`
ORDER BY `date` asc
Но в задаче сказано, что если даже книга не была взята за месяц ни разу (то есть нет записи в таблице journal про эту книгу), то все равно нужно вывести, но count в данном случае будет 0. Сейчас это сделано на стороне бэкенда, нужно сделать это на стороне БД. Каким образом это лучше сделать?
Продвижение своими сайтами как стратегия роста и независимости