【发布时间】:2013-10-11 15:01:37
【问题描述】:
我正在尝试编写一个选择语句来显示所有科幻相关类型中的前 10 名演员。相反,我得到了总体排名前 10 位的演员和他们拥有的所有头衔,而不仅仅是科幻小说(这是我想要的)。
select top 10 people_name as actor_name, count(tg_genre_name) as number_of_titles
from nf_people
join nf_cast on people_id=cast_people_id
join nf_titles on cast_title_id=title_id
join nf_title_genres on title_id=tg_title_id
where tg_genre_name like '%Sci-Fi%'
group by people_name
order by number_of_titles desc
【问题讨论】:
-
是否有理由使用 LIKE 而不是直接相等的流派?
-
我觉得查询没问题
-
嗯,这就是我被教导的方式。另外,如果我使用 = 我会得到一个空表,这不应该是这种情况。
-
好吧,那是个问题...在数据库中“sci-fi”之前或之后是否有空格...如果使用某种导入填充了此数据库,请检查特殊字符.
-
嗯,有几种不同的类型包含“科幻”……“动作科幻与奇幻”、“外星科幻”。
标签: sql sql-server sql-server-2008