1

假设我有一个如下表:

movie_author | movie_name | movie_price

如果我有一行的movie_name 列值,我将如何进行查询以获取与包含我拥有的movie_name 的行中具有相同movie_author 的所有电影?

我可以在两个查询中执行此操作:第一个从与我拥有的 movie_name 对应的行中获取 movie_author,然后第二个获取具有相同 movie_author 的所有行,但是如何在一个查询中执行此操作?

4

2 回答 2

2

例如,使用IN

SELECT * from movies m2 
WHERE m2.movie_author in (
    SELECT m1.movie_author 
    FROM movies m1
    WHERE m1.movie_name like '%AAA%'
)
于 2013-01-29T17:41:21.100 回答
2

您可以使用联接,如下所示:

SELECT m1.*
FROM movies m1 inner join movies m2
     on m1.movie_author = m2.movie_author
        and m2.movie_name='Movie name'
于 2013-01-29T17:45:10.067 回答