mysql表连接问题

时间:2011-05-24 02:51:46

标签: mysql sql

table:user

id     name
-------------
1      john
2      paul
3      mattew

表:昵称

id    user_id    nickname
--------------------------
1     1          frog
2     1          cow
3     1          bull
4     2          cat

我想要的结果:

 1     john     frog cow bull
 2     paul     cat
 3     mattew     

我怎样才能得到这个结果?

2 个答案:

答案 0 :(得分:2)

使用mysql聚合函数:Group concat将为您完成这个技巧。

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

答案 1 :(得分:2)

这样的事情应该有效:

SELECT u.id, u.name, GROUP_CONCAT(n.nickname, ' ') AS nickname
FROM user u
LEFT JOIN nickname n ON u.id = n.user_id
GROUP BY u.id, u.name

请注意:GROUP_CONCAT的语法可能不完美,因为我暂时没有使用它