我很好奇你认为让这个MySQL数据库工作的最好方法。
我有这张桌子:
family.id
family.name
family.related
并认为在1个查询中将相关家庭成员连接在一起并不是一个问题:
id | name | related
1 | Name1 |
2 | Name2 | 3,5
3 | Name3 |
4 | Name4 |
5 | Name5 | 4,1
6 | Name6 |
7 | Name7 |
8 | Name8 | 6
9 | Name9 | 7
所以Name2与Name3和Name5有关,其中Name5有其他相关的id,所以我应该进行查询以得到以下id:
选择ID 2,输出相关的id:3,5, 4,1
选择id 6,输出相关的id:8
选择id 9,输出相关的id:7
但是我找不到一个查询来将所有相关的id放在一列中。
甚至可能吗?
答案 0 :(得分:0)
对于多对多关系,您通常需要使用链接表:
family_id
related_to
如果在您的族表中有多个以逗号分隔的项目,那么您将在链接表中为逗号分隔列表中的每个项目添加一个条目:
family_id | related_to
2 3
2 5
5 4
5 1
...
等等。