#sql
У меня есть три таблицы: Book(Id), Topic(Id), BookTopic(BookId, TopicId). Есть запрос который для каждого Topic возвращает количество Book в этом Topic: SELECT T.Id, T.TopicName, count(BT.TopicId) AS 'BooksCount' FROM Topic T, BookTopic BT WHERE T.Id = BT.TopicId GROUP BY T.Id, T.TopicName Но есть проблема: если с топиком не связана ни одна книга то такой топик не возвращается. А я хотел что бы такой топик возвращался со значение BooksCount=0. Как это можно сделать?
Ответы
Ответ 1
Для этого следует воспользоваться LEFT JOIN SELECT T.Id, T.TopicName, count(BT.TopicId) AS 'BooksCount' FROM Topic T LEFT JOIN BookTopic BT ON T.Id = BT.TopicId GROUP BY T.Id, T.TopicName
Комментариев нет:
Отправить комментарий