MySQL查询问题

时间:2009-09-30 16:45:25

标签: sql mysql

设置:

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)

使用

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

返回:

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

如何从test1以空格作为联合来获取身体连接,以获得“something1 something2”?

1 个答案:

答案 0 :(得分:3)

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

有关详细信息,请参阅documentation