0

わかりました、これをどこから始めればよいかさえわかりません。私はmysqlに慣れていないので、頭を包むことができません。

私は2つのテーブルを持っています:

Table1: resources
Column1: id (primary,autoinc)
Column2: memberID
Column3: resource1
Column4: resource2

Table2: groups
Column1: memberid1
Column2: memberid2
Column3: memberid3
Column4: memberid4
Column5: memberid5
Column6: memberid6
Column7: groupID

私がやろうとしているのは、メンバー間のリソース グループを管理することです。各メンバーの情報は table1 にあり、table2 の各 6 メンバーのグループ化によって特定のグループが完成します。テーブル 1 から人が削除された場合、テーブル 2 には、それに一致するすべての列が NULL に設定されます。

私の質問は、各グループを表示し、メンバー ID と関連するリソースを入力する最も効率的な方法は何でしょうか?

編集-

出力は次のようになります。

Cicle: ID# Members: memberid1, memberid2, memberid3, memberid4, memberid5, memberid6

ID をクリックすると、各メンバーのリソースが表示されます。

4

1 に答える 1

0

あなたの場合のように、列ごとではなく、レコードごとにメンバーを個別に処理する別のテーブルを持つことができます。そのため、メンバーが削除されると、グループから簡単に削除できます。したがって、おそらく次のようになります。

 Table1: resources
 Column1: id (primary,autoinc)
 Column2: memberID
 Column3: resource1
 Column4: resource2

 Table2: groups
 Column1: groupID
 Column2: groupName

 Table3: groupsmember
 Column1: groupID
 Column2: memberID

おそらく、次のようなメンバーのテーブルを持つことができます。

 Table4: members
 Column1: memberID
 Column2: memberLastname
 Column3: memberFirstname

次に、GROUP_CONCAT を使用して、各グループのメンバー (6) を確認できます。

SELECT groupID, GROUP_CONCAT(memberID)
FROM groupsmember
GROUP BY groupID

ここで例を参照してください

于 2013-06-08T02:13:14.823 に答える