Я пытаюсь получить название продукта и количество продаж из двух отдельных таблиц.
Мои таблицы выглядят примерно так:
BOOK
Book_ID | Book_Title | Book_Author
SOLD
Transaction_ID | Book_ID | Customer_ID
Я могу получить большинство желаемых результатов из следующего запроса
SELECT b.Book_Title, COUNT(s.Book_ID) FROM Book b, Sold s
WHERE b.Book_ID = s.Book_ID
GROUP BY b.Book_Title;
Тем не менее, отображаются только продукты, по крайней мере, с одной продажей. Я хотел бы отобразить все продукты, просто показывая ноль, если не было продаж. Я возился с чем-то вроде этого:
SELECT b.Book_Title,
COUNT(CASE WHEN s.Book_ID IS NULL THEN 0 ELSE s.Book_ID END)
FROM Book b, Sold s WHERE b.Book_ID = s.Book_ID GROUP BY Book_Title;
Но предложение WHERE
ограничивает результаты результатами с 1 или более продажами.
Кто-нибудь может предложить способ обойти это? Я использую Oracle 10g.
Спасибо