1

この 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 つの列で取得するためのクエリが見つかりません。

それは可能ですか?

4

1 に答える 1

0

多対多の関係では、通常、リンク テーブルを使用する必要があります。

family_id
related_to

ファミリ テーブルにカンマで区切られた複数のアイテムがある場合は、カンマで区切られたリストに含まれる各アイテムに対して、リンク テーブルに 1 つのエントリがあります。

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

等々。

于 2013-04-09T20:01:51.590 に答える