Задать вопрос
@Andriy1218

Как установить дефолтное значение для столбца в таблице?

У меня есть три таблицы: 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. Как это можно сделать?
  • Вопрос задан
  • 344 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
  • Stepik
    SQL с нуля до PRO
    2 недели
    Далее
Решения вопроса 1
@tommy87
Вопрос некорректный в шапке, а что вы просите сделать, это вот так :

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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы