Вот мои отношения с базой данных:
шоу(showID, title, premiere_year, сеть, создатель, категория)
эпизод(showID, episodeID, airdate, title)
актер(actID, fname, lname)
recurring_cast(showID, episodeID, actorID, роль)
покупатель(custID, fname, lname, электронная почта, кредитная карта, membersince, дата обновления, пароль, имя пользователя)
cust_queue(custID, showID, дата поставлена в очередь)
смотрели(custID, showID, episodeID, datewatched)
— custID является внешним ключом для клиента
— showID — это внешний ключ к шоу
— (showID, episodeID) является внешним ключом к эпизоду
— (custID, showID) является внешним ключом для cust_queue
Все идентификаторы являются первичными ключами
Мне дали несколько запросов, и у меня возникли проблемы с ними.
Один из которых включает в себя пункт HAVING.
Запрос:
Найдите, сколько шоу имеет эпизоды со словом «хорошо» в названии?
Я предполагаю, что я должен использовать COUNT и пункт HAVING. Но мой синтаксис всегда выключен. Кто-нибудь поможет? !! Моя последняя попытка выглядит так:
SELECT Shows, COUNT(Episode)
FROM Shows, Episode
WHERE Shows.showid = Episode.showID
GROUP BY Shows
HAVING (Episode.title = 'good');
Вам нужно использовать «как», а затем подстановочные знаки
... WHERE title LIKE '%good%'
В% на каждом конце будут найдены заголовки со словом «хорошо».
В частности, для вашего запроса в приведенном ниже запросе должны быть найдены все эпизоды со словом «хорошо», если я правильно понимаю схему вашей базы данных.
SELECT COUNT(*) FROM Episode WHERE title LIKE '%good%'
Других решений пока нет …