1

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

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

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

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

在 PHP 中完成这项工作的最佳方法是什么,除了用许多查询、for 循环等进行暴力编码。我试图让 MySQL 查询进行,但无法解决这个问题。

4

1 回答 1

1

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

选择带有连接的数据,按 question_id 分组,并在人员和旅行列上使用 group_concat。

于 2012-09-12T13:27:33.087 回答