Вопрос

is there a way of using MySQL that allows me to get a result with associative values (like in php´s associative array).

For example:

Moviename: 'The Pianist', Director: 'Roman Polanski', Language: 'English', Actor: 'Adrien Brody' 'Emilia Fox' 'Frank Finlay'.

That is, get all of the matching actors as a single row. Is this possible, or do i have to stick with:

Moviename: 'The Pianist', Director: 'Roman Polanski', Language: 'English', Actor: 'Adrien Brody'

Moviename: 'The Pianist', Director: 'Roman Polanski', Language: 'English', Actor: 'Emilia Fox'

Moviename: 'The Pianist', Director: 'Roman Polanski', Language: 'English', Actor: 'Frank Finlay'

Это было полезно?

Решение

What you want is not an associative array - but a list of values belonging to the same group. For this you can use GROUP_CONCAT, grouping your query by moviename, director and language, like this:

  SELECT moviename, director, language, 
         GROUP_CONCAT(actor) AS actors
    FROM movies
GROUP BY moviename, director, language
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top