MySQL - 使用PHP中的一对多映射连接表

时间:2012-09-12 13:23:45

标签: php mysql join csv

我必须连接多个表,其中一些表具有一对多的映射,并使用PHP将连接表中的每个条目转换为csv文件中的单个行条目。

我知道我基本上是从3D到2D表示,但它是csv文件的格式化要求。

MySQL结构由表“问题”,“人物”和“旅行”组成。 “people”表通过“问题”的id链接到“问题”表。同样地,“旅行”通过“人”的ID与“人”相关联。 “问题”与“人”和“人”与“旅行”之间存在一对多的关系

这个想法是让每行有一个“问题”条目的csv文件。此行条目将是所有3个表的连接结果。每个问题输入的人数和出行次数不一致,因此如果某些“问题”条目中的人数少于其他人,则需要空格。与旅行一样。

在PHP中完成此操作的最佳方法是什么,除了使用许多查询进行强制编码,for循环等等。我试图让MySQL查询继续进行,但无法解决这个问题。

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找mysql GROUP_CONCAT函数。

选择包含联接的数据,按问题组对其进行分组,并在人员和旅行列中使用group_concat。