繁体   English   中英

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

[英]How to select rows based on a column value I don't have, but that exists in the same row as a column value I do have?

假设我有一个如下表:

movie_author | movie_name | movie_price

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

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

例如,使用IN

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM