我正在使用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)=?) ");
我希望我对自己的解释很好。谢谢。
在主查询中,您尝试使用不与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)=?) "