如何合并数据库中的数组数据

时间:2016-01-03 04:36:36

标签: php mysql sql arrays

我有一个用于我网站用户的数据库表,该表为每个用户提供了一个user_id。

使用规范化,我已将用户链接到具有user_group表的组,其中包括user_id和group_id,以将用户链接到组。

然后我有一个组表,它将组名链接到group_id。

我正在尝试在网页名称旁边的列表中输出我的网页上的用户,而不是其ID。

我正在考虑使用foreach循环来执行此操作,但数据需要进入一个数组吗?我不知道如何使用user_id,找出与它配对的组_id,找出id与哪个组名配对,然后将其添加到带有名称的数组中,并能够显示下一个组名使用foreach到用户名。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望将用户数据加入到组中,以便用组名显示用户详细信息。

试试这个:

select u.*,g.*,ug.*  from users u 
left join user_group ug on u.user_id=ug.user_id
left join `group` g on ug.group_id=g.group_id;

从上面的查询中,您可能会获得未分配给任何组的某些用户的空白值。

答案 1 :(得分:0)

我不明白为什么需要左连接。应该是定期加入,除非他想要显示没有群组的用户。

顺便说一句,这是一个完美的例子,应该在带有select的DB中完成。从这些表中提取所有内容并尝试在java中对它们进行排序并不是一个好主意。也许我读错了这篇文章。