MySQL结果中的关联值
有没有一种使用MySQL的方法可以让我获得具有关联值的结果(比如php的关联数组) 例如: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪”,“埃米莉亚·福克斯”,“弗兰克·芬利” 也就是说,将所有匹配的参与者作为一行。 这是可能的,还是我必须坚持: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪” 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“埃米莉亚·福克斯”MySQL结果中的关联值,mysql,associative,Mysql,Associative,有没有一种使用MySQL的方法可以让我获得具有关联值的结果(比如php的关联数组) 例如: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪”,“埃米莉亚·福克斯”,“弗兰克·芬利” 也就是说,将所有匹配的参与者作为一行。 这是可能的,还是我必须坚持: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪” 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“埃米莉亚·福克斯” Moviename:“
Moviename:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“弗兰克·芬莱”你想要的不是一个关联数组,而是一个属于同一组的值列表。为此,您可以按moviename、director和语言对查询进行分组,如下所示:
SELECT moviename, director, language,
GROUP_CONCAT(actor) AS actors
FROM movies
GROUP BY moviename, director, language
谢谢你,伙计!这正是我想要的:现在我遇到了另一个问题。我当然可以说不止一种语言。但当我添加另一种语言时,结果会重复。换句话说,演员被列了两次。如果我加上另一种语言(总共三种语言),演员会被列出三次。我如何解决这个问题?我试着把这些语言归为一组,但没有按我的计划进行;)是否有一种方法可以在一个结果行中显示所有参与者和所有语言?