相关家庭成员的SQL数据库

时间:2013-04-09 19:33:09

标签: mysql sql alias aliases

我很好奇你认为让这个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放在一列中。

甚至可能吗?

1 个答案:

答案 0 :(得分:0)

对于多对多关系,您通常需要使用链接表:

family_id
related_to

如果在您的族表中有多个以逗号分隔的项目,那么您将在链接表中为逗号分隔列表中的每个项目添加一个条目:

family_id | related_to
2           3
2           5
5           4
5           1
...

等等。