MySQL和PHP-有效地获取与每行关联的行和数组

问题描述

|| 我有两个表: 表格1:
ID | user | info
------------------
1    1      data1
2    1      data2
3    2      data3
表2:
table1_id | array_info
------------------------
1             a  
1             b
2             a
3             d
3             g
3             m
如何有效地返回与用户关联的行,以便获得信息以及该ID关联的array_info的数组? 例如,诸如“选择ID,来自table1的信息,其中user = 1 \”之类的查询,但也会从table2返回[a,b],因此结果将类似于[1,data1,[a,b]]。第一行,[2,data2,[a]]与第二行。类似地,\“ ... where user = 2 \”应该返回类似[3,data3,[d,g,m]]的内容。我不认为MysqL会返回类似的结果,但是也许PHP可以使左连接的输入变得平滑?如果MysqL为每个array_info返回单独的一行,则复制info中的所有数据似乎很浪费,但是我不确定还有另一种方法。     

解决方法

        您可以将GROUP_CONCAT与JOIN一起使用,然后遍历结果时,使用explode()将串联的字符串转换为数组。