在子查询中查找带有外部查询中的计数的文本

时间:2017-11-02 01:09:12

标签: sql postgresql subquery

我正在使用电影数据库(imdb),而且我在使用子查询时遇到了困难。在学校学习,仍处于相当基础的水平。

我应该在电影中找到每部电影(演员,导演等等)的部分数量,其中包含“指环王”中的电影。作为标题的一部分。表Filmitem包含一个带有filmtype的列,而C'定义电影。

这是我到目前为止所获得的,但我只得到(0行):

SELECT f.title, fp.parttype, count(*) as antall_deltagere
FROM filmparticipation fp
INNER JOIN film f
  ON fp.filmid = f.filmid
LEFT JOIN filmitem fi
  ON fi.filmid = fp.filmid
WHERE filmtype = 'C' AND title IN (
 SELECT title
  FROM film
  WHERE title = 'Lord of the Rings'
)
GROUP BY f.title, fp.parttype;

1 个答案:

答案 0 :(得分:0)

"作为标题的一部分"并不意味着"等于"也许这会有所帮助吗?

SELECT
      f.title
    , fp.parttype
    , COUNT(*) AS antall_deltagere
FROM filmparticipation fp
INNER JOIN film f ON fp.filmid = f.filmid
LEFT JOIN filmitem fi ON fi.filmid = fp.filmid
WHERE filmtype = 'C'
AND title IN (
      SELECT
            title
      FROM film
      WHERE title LIKE '%Lord of the Rings%' -- using like
)
GROUP BY
      f.title
    , fp.parttype;