SQL查询 - 有条款

时间:2015-03-19 14:58:54

标签: php sql database syntax-error having-clause

以下是我的数据库关系:

节目(showID,title,premiere_year,网络,创作者,类别)

剧集(showID,episodeID,airdate,title)

  • showID是显示的外键

演员(actID,fname,lname)

  • main_cast(showID,actorID,role)
  • showID是显示的外键
  • actID是演员的外键

recurring_cast (showID,episodeID,actorID,角色)

  • showID是显示的外键
  • episodeID是剧集的外键
  • actID是演员的外键

客户(custID,fname,lname,email,creditcard,membersince,renewaldate,密码,用户名)

cust_queue (custID,showID,datequeued)

  • custID是客户的外键
  • showID是显示的外键

观看(custID,showID,episodeID,datewatched) - custID是客户的外键 - showID是显示的外键 - (showID,episodeID)是剧集的外键 - (custID,showID)是cust_queue的外键

所有'ID'都是主键


我遇到了一些疑问,我遇到了问题。 其中一个涉及HAVING条款。 查询是:

在标题中查找有多少个节目带有“好”字样的剧集?

我假设我必须使用COUNT和HAVING子句。但我的语法总是关闭。有人帮忙吗?!!我的最新尝试看起来像这样:

SELECT Shows, COUNT(Episode)
FROM Shows, Episode
WHERE Shows.showid = Episode.showID
GROUP BY Shows
HAVING (Episode.title = 'good');

1 个答案:

答案 0 :(得分:0)

你需要使用'LIKE'然后使用外卡

... WHERE title LIKE '%good%'

每端的%会找到包含“good”一词的任何标题。

特别是对于您的查询,如果我正确理解您的数据库原理图,下面的查询应该找到所有带有'good'一词的剧集

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