【问题标题】:Find text in subquery with count in outer query在外部查询中使用计数在子查询中查找文本
【发布时间】:2017-11-02 01:09:11
【问题描述】:

我正在使用电影数据库 (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;

【问题讨论】:

    标签: sql postgresql subquery


    【解决方案1】:

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

    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;
    

    【讨论】:

    • 感谢您的回答!一段时间后我实际上设法弄清楚了,但我找到了一种方法来缩短提示:[...] WHERE f.title LIKE '%Lord of the Rings%' AND (fi.filmtype LIKE '%C '%') GROUP BY [...]
    • 您的问题现在解决了吗?你对这个答案还有疑问吗?要接受答案“Click the Tick”以获取更多信息,请参阅help/accepting ps。接受答案可获得 2 点声望值
    猜你喜欢
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多