tags:

views:

54

answers:

1

setup:

mysql> create table main(id integer unsigned);

mysql> create table test1(id integer unsigned,body text);
Query OK, 0 rows affected (0.84 sec)

mysql> insert into main(id) value(1);
Query OK, 1 row affected (0.16 sec)

mysql> insert into test1(id,body) value(1,'something1');
Query OK, 1 row affected (0.27 sec)

mysql> insert into test1(id,body) value(1,'something2');
Query OK, 1 row affected (0.00 sec)

Using

mysql> select main.id,body from main
    -> left join test1 on main.id=test1.id
    -> group by main.id;

returns:

+------+------------+
| id   | body       |
+------+------------+
|    1 | something1 |
+------+------------+
1 row in set (0.02 sec)

How to get body concatenation from test1 with space as joint,to get "something1 something2"?

+3  A: 
SELECT main.id, GROUP_CONCAT(body SEPARATOR ' ') 
FROM main 
LEFT JOIN test1 on main.id=test1.id
GROUP BY main.id

See the documentation for details.

hobodave