我有一个电影数据库。例如:
table: movies
Id - Title - Actors
2 - Avangers - 2,5,11,16
table: actors
Id - Name
2 - Jason
5 - Emma
11 - Stuart
16 - Thomas我的问题是:如何用这样的.li.s打印这个:
Avengers:
*Jason
*Emma
*Stuart
*Thomas发布于 2013-11-26 04:56:24
如果必须将电影表中的参与者保留为一个逗号分隔的Id列表,那么我所能想到的最好的方法是:在一个查询中获取该列,提取不同的Id,为每个Id运行一个查询以查找名称。
正如一位评论员所说,这不是最好的DB设计。我建议从电影表中删除“演员”列,并使用第三个表来处理电影与演员之间的关系:
table:movieactor
movie actor
------------
2 2
2 5
2 11
2 16然后,您可以运行一个内部连接,以找出演员的名字谁出现在一个给定的电影。
SELECT actors.Name from movieactor INNER JOIN actors ON movieactor.actor = actors.Id WHERE movieactor.movie = 2https://stackoverflow.com/questions/20208715
复制相似问题