Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL结果中的关联值_Mysql_Associative - Fatal编程技术网

MySQL结果中的关联值

MySQL结果中的关联值,mysql,associative,Mysql,Associative,有没有一种使用MySQL的方法可以让我获得具有关联值的结果(比如php的关联数组) 例如: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪”,“埃米莉亚·福克斯”,“弗兰克·芬利” 也就是说,将所有匹配的参与者作为一行。 这是可能的,还是我必须坚持: 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪” 电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“埃米莉亚·福克斯” Moviename:“

有没有一种使用MySQL的方法可以让我获得具有关联值的结果(比如php的关联数组)

例如:

电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪”,“埃米莉亚·福克斯”,“弗兰克·芬利”

也就是说,将所有匹配的参与者作为一行。 这是可能的,还是我必须坚持:

电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“阿德里安·布罗迪”

电影名称:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“埃米莉亚·福克斯”


Moviename:“钢琴家”,导演:“罗曼·波兰斯基”,语言:“英语”,演员:“弗兰克·芬莱”

你想要的不是一个关联数组,而是一个属于同一组的值列表。为此,您可以按moviename、director和语言对查询进行分组,如下所示:

  SELECT moviename, director, language, 
         GROUP_CONCAT(actor) AS actors
    FROM movies
GROUP BY moviename, director, language

谢谢你,伙计!这正是我想要的:现在我遇到了另一个问题。我当然可以说不止一种语言。但当我添加另一种语言时,结果会重复。换句话说,演员被列了两次。如果我加上另一种语言(总共三种语言),演员会被列出三次。我如何解决这个问题?我试着把这些语言归为一组,但没有按我的计划进行;)是否有一种方法可以在一个结果行中显示所有参与者和所有语言?