MYSQL有两个表,信息和分组

时间:2013-06-08 01:40:59

标签: mysql

好的,我甚至不知道从哪里开始。我是mysql的新手,我无法绕过它。

我有两张桌子:

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个成员的分组将完成一个特定的组。如果从table1中删除某个人,则table2将具有与设置为NULL的任何列匹配。

我的问题是,显示每个组的最有效方法是什么,并填充成员ID&相关资源?

编辑 -

输出甚至可能是:

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

然后单击ID以显示每个成员的资源。

1 个答案:

答案 0 :(得分: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

参见示例here