使用MYSQL从两个表中获取多个数据到单个列?

时间:2015-03-24 11:27:23

标签: mysql

我有两张桌子:

用户

表用户

 Id      Name             
 1       Jhon             
 2       Andy              

图书

  Id    book       user_id
   1    English       1
   2    Physics       1

我希望数据为

array
(
   [id]=>1,[name]=>Jhon,
   [books]=>'English,Physics'
)

是否有可能通过MYSQL,如果是,那么请帮助我。我无法弄清楚如何使用MYSQL查询来做到这一点。提前致谢。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要group_concat

select
u.id,
u.name,
group_concat(b.book) as book
from user u
join book b on b.user_id = u.id
group by u.id

如果您需要订购书籍,请使用

group_concat(b.book order by b.book) as book