解决方案非常接近...除了在他的查询中需要“DISTINCT”。
然而,不同的演员,你已经有一个演员表,直接从中查询,无论演员是谁,他们应该是独一无二的演员和女演员。
但是,如果你想知道与其他人在同一个MOVIE中的不同演员/女演员,我实际上会将你的数据库结构调整为一个更灵活的结构,允许你使用“桥”或“”所需的“星星”。链接“表...提供1:很多关系
Table MOVIE:
id_movie | name_movie | star1 | star2 | star3 | runtime
Table MovieActor:
id_movieactor | id_movie | id_actor (star)
Table ACTOR:
id_actor | name | sex | image要在这里填充MovieActor表,你可以......
insert into MovieActor ( id_movie, id_actor )
select id_movie, star1 as id_actor
from movie
where star1 > 0
union
select id_movie, star2 as id_actor
from movie
where star2 > 0
union
select id_movie, star3 as id_actor
from movie
where star3 > 0通过这种方式,每部电影的星数不受限制,但至少可以有1个没有其他人浪费的空间...然后,将来,您希望通过在电影中添加可能的第四颗星来调整查询,你要调整多少个查询......
无论如何,一旦完成,您可以像查询一样简单
select distinct ma.id_actor, actor.*
from MovieActor ma join Actor on ma.id_actor = actor.id_actor如果您有其他一些类型的查询示例,您可能会想要离开数据库,我可以轻松地提供补充查询...