我正在寻找一种基于另一个表中的一组行保存数据的方法,但我不知道如何设置该字段。想一想类似于使用mysql group_concat
的结果作为字段。数据基于唯一组合行,而不是一行或一行。
我需要做的是:
我考虑过的一些选择:
这些选项都不正确所以我来到这里希望有人有更好的答案。
背景:
假设我有以下表格:
users {id, other unimportant fields}
products {id, other unimportant fields}
shipments {id, user_id, product_id, date, other unimportant fields}
我想创建一个名为assigned_products
的新表,其中指定的产品基于他们过去收到的独特组合产品。所以assigned_products
应该是这样的:
assigned_products {set_of_products_received (array), product_id (data about the array)}
我不知道将set_of_products_received
存储在数据库中的好方法。
使用示例:
假设我有100个用户获得产品A,100个用户获得产品B,100个用户获得产品A和B.假设我想将产品B提供给每个获得产品A,产品A给每个人的人将产品B和产品C提供给所有获得产品A和B的人。分配的产品表应如下所示:
+--------------------------+------------+
| set_of_products_received | product_id |
+--------------------------+------------+
| A | B |
| B | A |
| A, B | C |
+--------------------------+------------+
我正在寻找更好的存储方式set_of_products_received
阅读本文时我意识到它有点难以理解,但我并不知道描述这个问题的适当术语(可能是我找不到解决方案的原因)。我很乐意澄清是否有人有任何问题。