首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -参与者之间的关系

SQL -参与者之间的关系
EN

Stack Overflow用户
提问于 2013-10-02 12:14:30
回答 4查看 476关注 0票数 3

我有一张有两列的表:演员和电影,如下所示:

代码语言:javascript
复制
ACTOR  | MOVIE
-------+-------------
Volta  | Pulp Fiction
Bruce  | Pulp Fiction
Rhame  | Pulp Fiction
Walke  | Pulp Fiction
Rhame  | Bad Movie
Bruce  | Bad Movie
Volta  | Decent Movie
Brian  | Decent Movie
Walke  | Awesome Movie
Brian  | Awesome Movie

我想知道哪些演员,谁曾出现在纸浆小说,从来没有出现在另一部电影与另一个演员从纸浆小说。

从这个例子中,输出应该是:

代码语言:javascript
复制
Volta
Walke

因为他们分别出现在纸浆小说和体面电影和可怕的电影,没有任何其他演员从纸浆小说。

我在用MySQL。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-02 13:14:05

代码语言:javascript
复制
SELECT m.actor
FROM movies m 
WHERE 
m.movie = 'Pulp Fiction'
AND NOT EXISTS
(
  SELECT 1
  FROM movies m1 
    JOIN movies m2 ON m1.movie = m2.movie 
      AND m1.actor <> m2.actor 
      AND m2.movie <> 'Pulp Fiction' 
      AND m2.actor IN (SELECT actor FROM movies WHERE movie = 'Pulp Fiction')
  WHERE
      m.actor = m1.actor 
)

根据SQLFiddle的ChrisProsser所做的,它应该给出适当的结果。

票数 2
EN

Stack Overflow用户

发布于 2013-10-02 13:01:28

也许有一种更简单的方法,但这应该是可行的:

代码语言:javascript
复制
select m.actor 
  from movies m
 where m.movie = 'Pulp Fiction'
   and m.actor not in (
       select m2.actor
         from movies m1,
              movies m2,
              movies m3
        where m1.actor = m2.actor
          and m1.movie = 'Pulp Fiction'
          and m2.movie != m1.movie
          and m3.movie = m2.movie
          and m3.actor in (select m4.actor
                             from movies m4
                            where m4.movie = 'Pulp Fiction')
        group by m2.actor
        having count(*) > 1);

我创建了一个SQL Fiddle来测试这一点,并且输出是正确的。

票数 0
EN

Stack Overflow用户

发布于 2013-10-02 13:42:16

试试这个..。

代码语言:javascript
复制
SELECT actor, movie 
FROM actor
where movie like 'Pulp Fiction' AND
movie NOT IN(select movie from tablename t where t.actor like actor and movie NOT LIKE 'Pulp Fiction');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19136641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档