这在标题中有点难以解释,但我应该可以在这里。我有两个看起来像这样的表:
Table 1:
-id
-created
-last_modified
-title
Table 2:
-id
-parent_id
-type
-value
结构有点类似于以下内容:表1中的项目可以具有与之关联的许多属性。每个属性都列在第二个表中,引用返回原始属性。
我遇到的问题是,我希望能够从表1中获取记录列表以显示在表中(使用分页),但也希望能够从表2中检索与之关联的所有属性每个表1同时记录,以便我可能有以下内容:
(Table 1) ID1 [Title] has attributes x, y, z
(Table 1) ID2 [Title] has attributes x, y, z
(Table 1) ID3 [Title] has attributes x, y, z
等等。理想情况下,我希望能够将每个属性与其类型相关联...当前使用连接我会收到多行相同的记录(每次加入的数据都不同),并将它们分组在一起会删除一些连接数据完全。
基本上我所追求的是为表1中的每条记录返回的一系列属性(在某种情况下)。
我正在考虑将MongoDB用于此项目,因为我知道我可以简单地使用它,但我正在尝试使用MySQL,因为这是现有平台正在使用的。
我希望我对我的要求有所了解:)任何帮助都将不胜感激!
丹
答案 0 :(得分:0)
听起来更像是一个显示问题。加入的查询是最好的方法。然后,您只需在检索/显示代码中使用一个简单的循环来检查何时从一个Table1记录转换到另一个Table1记录并根据需要调整输出。
您可以使用MySQL的group_concat()函数将所有子记录检索为单个字段,但是您最终会(基本上)结束整数串联数据,而不是连接查询/显示循环的单个记录提供。 group_concat对它将返回多少数据(默认为1024字节)也有长度限制,可以很容易地使用大型数据集。