Mysql多对多选择与PHP

Mysql多对多选择与PHP,php,mysql,Php,Mysql,我有搜索,但我没有解决我的问题。 我有一种多对多的关系 3个表: groups_mail | groups_mail_j (joint table) | mails id, name | mail_id, groupe_id | id, name 我不知道如何为我的groupe ID=1选择所有电子邮件 谢谢。你的问题不清楚。无论如何,这是我根据这个问题所理解的 你有3个表邮件,组邮件,组邮件 您希望根据邮件->id列联接所有表并获取所有记录 如果以上是上的必填

我有搜索,但我没有解决我的问题。 我有一种多对多的关系

3个表:

groups_mail | groups_mail_j (joint table) | mails    
id, name    | mail_id, groupe_id          | id, name
我不知道如何为我的groupe ID=1选择所有电子邮件


谢谢。

你的问题不清楚。无论如何,这是我根据这个问题所理解的

你有3个表邮件,组邮件,组邮件

您希望根据邮件->id列联接所有表并获取所有记录

如果以上是上的必填项,则您可以通过以下操作完成

SELECT m.id mailid, m.name AS email, gm.name AS groupname, gm.id AS groupmailid
FROM mails AS m
INNER JOIN groups_mail_j AS gmj ON gmj.mail_id = m.id
INNER JOIN groups_mail AS gm ON gm.id = gmj.groupe_id
WHERE m.id = 1
这里我使用了自定义选择器。通过使用表的别名,可以使用表的任何特定列

好的,如果您想显示所选组的所有邮件ID,请使用以下查询。无需输入邮件id,因为如果您知道邮件id,则无需再次查询

SELECT m.name AS email
FROM mails AS m
INNER JOIN groups_mail_j AS gmj ON gmj.mail_id = m.id
INNER JOIN groups_mail AS gm ON gm.id = gmj.groupe_id
WHERE gmj.groupe_id = 1
此处1为硬编码,以防您可以使用$group\U id


请检查您的拼写是组id还是组id

任何一本优秀的初学者书籍或教程都可以帮助您。哼哼,这是我的PHP代码,您更容易理解:查询是$getemails Hi,您可以发布一个问题中所需输入和输出的示例,以便我可以帮助你更好。在我的pastebin中,你可以看到我得到了组,组有许多电子邮件和电子邮件许多组。我想显示选定组中的所有电子邮件。