SQL-запрос — наличие предложения

Вот мои отношения с базой данных:

шоу(showID, title, premiere_year, сеть, создатель, категория)

эпизод(showID, episodeID, airdate, title)

  • showID — это внешний ключ к шоу

актер(actID, fname, lname)

  • main_cast (showID, actorID, роль)
  • showID — это внешний ключ к шоу
  • actID является внешним ключом для актера

recurring_cast(showID, episodeID, actorID, роль)

  • showID — это внешний ключ к шоу
  • episodeID — это внешний ключ к эпизоду
  • actID является внешним ключом для актера

покупатель(custID, fname, lname, электронная почта, кредитная карта, membersince, дата обновления, пароль, имя пользователя)

cust_queue(custID, showID, дата поставлена ​​в очередь)

  • 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');

0

Решение

Вам нужно использовать «как», а затем подстановочные знаки

... WHERE title LIKE '%good%'

В% на каждом конце будут найдены заголовки со словом «хорошо».

В частности, для вашего запроса в приведенном ниже запросе должны быть найдены все эпизоды со словом «хорошо», если я правильно понимаю схему вашей базы данных.

SELECT COUNT(*) FROM Episode WHERE title LIKE '%good%'
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]