假设我们有两张table
# film_info
[
movieID
movieValue1
movieValue2
]
# actor_info
[
actorID
actorValue1
actorValue2
]
我们还有
# film_actor
[movieID, actorID]
我想做的是通过电影演员加入那些电影和演员,这样我就可以选择一部电影,看到每一个演员,在其中的明星。
$db->prepare("SELECT *
FROM film_info fi
INNER JOIN film_actor fa
ON fi.film_id = fa.film_id
INNER JOIN actor_info ai
ON fa.actor_id = ai.actor_id");
像这样的事情。它很管用,但能给我一系列所有演员的电影信息。例如,如果有6个演员,它将返回6个相同电影信息的数组,只有不同的 [actor_name]
每一次。
这就有一个问题:有没有办法让它返回一个包含所有参与者列表的数组?或者我应该编写一个函数来手动从6+数组中选择所有参与者吗?
对不起,我的英语不好,提前谢谢你!
1条答案
按热度按时间nafvub8i1#
你应该
group by
那电影呢group_concat
所有的演员都回到了第一排。你也可以使用using
对于on
当两个表的列具有相同的名称时。这应该满足您的要求: