我不知道怎么做,所以我在这里问它......
我的数据库中有3个表格,结构如此..
表:联系-----行:contact_id,firstname
table:groups ------ rows:group_id,group_name
table:groupmembership ------ rows:contact_id,group_id
表“group_membership”中“contact_id”和“group_id”之间的关联反映了特定群组中的联系人。
我需要做的是拿一个contact_id,并在下拉列表中显示他是哪个组成员。我最终会使用此下拉列表将group_id发布到覆盖组信息的页面。
任何人都可以帮我解决如何制定MySQL查询的问题吗?
答案 0 :(得分:1)
如果您想通过user_id选择:
SELECT group_name, group_id
FROM groupmembership gm
INNER JOIN groups g ON g.group_id = gm.group_id
WHERE gm.contact_id = 4711
如果您想按用户的名字选择:
SELECT group_name, group_id
FROM groupmembership gm
INNER JOIN groups g ON g.group_id = gm.group_id
INNER JOIN contact c ON c.contact_id = gm.contact_id
WHERE c.firstname LIKE 'TheHe';