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
我怎样才能得到这个结果?
答案 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的语法可能不完美,因为我暂时没有使用它