jdbc-sakila db中扮演X演员的seach电影

问题描述 投票:0回答:1

我正在使用Skila example database.我尝试进行查询以显示包含X个演员的电影。例如:在表film_actor中,我有列film_id,我想找到所有包含X演员的电影。所以我看到我有4条actor_id的记录,其中film_id是1。(可能还有更多),那么我想在jdbc上打印它。这就是我的工作:

        PreparedStatement ps = myConnn.prepareStatement("Select film.title from film where film_id in (select film_id from film_actor group by film_id having count(actor_id)=?) ");

我希望我对自己的解释很好。谢谢。

java sql jdbc
1个回答
0
投票

在主查询中,您尝试使用不与main连接的子表。

您必须将表film_actor加入到电影中才能从中进行查询。

也许像这样:

"Select film.title from film " + "left join film_actor on film_actor.film_id = film.film_id " + "where film_actor.actor_id in " + "(select film_actor.actor_id from film_actor group by film_actor.actor_id having count(film_id)=?) "

© www.soinside.com 2019 - 2024. All rights reserved.