2011-06-30 8 views
1

私はCONCAT()機能を使用し、このため、MySQLデータベースから複数の文字列を追加する必要があります。ここでMySQLのグループや連結方式の複数の列

は、PHPクラスを格納する第1のテーブルclassesです。

class_id class_name 
-------- ---------- 
     1 accountant 
     2 attendance 

各クラスメソッドを格納する別のテーブルmethods

class_id method_name    
-------- ----------------------- 
     1 __construct    
     1 add_expenses 

     2 __construct    
     2 attendance_report 

そして、私は連結のための質問を書いています。

SELECT 
    `cc`.`class_id`, 
    `cc`.`class_name`, 
    CONCAT(`cm`.`method_name`, ',') AS `method_name` 
FROM 
    `classes` AS `cc` 
    LEFT JOIN `methods` AS `cm` 
    ON `cm`.`class_id` = `cc`.`class_id` 
GROUP BY `cc`.`class_name`; 

これは機能しません。私の期待される出力は

class_id class_name  method_name 
-------- -------------- ------------ 
     1 accountant  __construct, add_expenses, .... n 
     2 attendance  __construct, attendance_report, .... n 

アイデアがありますか?

答えて

3

使用

GROUP_CONCAT

代わりの

デフォルトを取られるセパレータとしてカンマを渡す必要はありませんCONCAT

GROUP_CONCAT(cm.method_name)

+0

ありがとうございます! –