如何根据我没有的列值选择行,但是我与列值存在于同一行?

时间:2013-01-29 17:39:13

标签: mysql

假设我有一个如下表格:

movie_author | movie_name | movie_price

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

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

2 个答案:

答案 0 :(得分:2)

例如,使用IN

SELECT * from movies m2 
WHERE m2.movie_author in (
    SELECT m1.movie_author 
    FROM movies m1
    WHERE m1.movie_name like '%AAA%'
)

答案 1 :(得分:2)

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

SELECT m1.*
FROM movies m1 inner join movies m2
     on m1.movie_author = m2.movie_author
        and m2.movie_name='Movie name'