2009-09-30 185 views
4

设置: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) 

如何从测试1获得身拼接与空间联合,让 “something1 something2” ?

回答

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

查看documentation了解详情。