2013-05-18 54 views
0

有沒有一種使用MySQL的方法,可以讓我得到結果值(如php的關聯數組)。MySQL結果中的關聯值

例如:

電影名稱:「鋼琴師」,導演:「羅曼·波蘭斯基」,語言:「英語」,演員:「阿德里安·布羅迪「艾米利亞福克斯」「弗蘭克·芬利」。

也就是說,將所有匹配的actor分別作爲一行。 這是可能的,還是我必須堅持:

電影名稱:「鋼琴師」,導演:「羅曼·波蘭斯基」,語言:「英語」,演員:「阿德里安·布羅迪」

電影名稱:「 '鋼琴師',導演:'Roman Polanski',語言:'英語',演員:'Emilia Fox'

電影名稱:'鋼琴家'導演:'Roman Polanski',語言:'英語',演員:' Frank Finlay'

+0

,現在我遇到了另一個問題。我的電影當然可以有不止一種語言。但是,當我添加另一種語言的結果重複。換句話說,演員被列出兩次。如果我添加另一種語言(總共有三種語言),演員將分別列出3次。我如何解決這個問題?我試圖GROUP_CONCAT語言,但沒有按照我的計劃;)有沒有辦法顯示一個結果行中的所有演員和所有語言? –

回答

1

你想要的不是一個關聯數組 - 而是屬於同一個組的值列表。爲此,您可以使用GROUP_CONCAT,分組由電影名稱,導演和語言,你這樣的查詢:

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

謝謝你!那正是我想要的:D –