私は検索しているが、私は問題を解決しない。 私は多対多の関係を持っています。Mysql多対多PHPで選択
3テーブル:私は私のGROUPEのID = 1
Thxをのためにすべてのメールを選択する方法を知らない
groups_mail | groups_mail_j (joint table) | mails
id, name | mail_id, groupe_id | id, name
。
私は検索しているが、私は問題を解決しない。 私は多対多の関係を持っています。Mysql多対多PHPで選択
3テーブル:私は私のGROUPEのID = 1
Thxをのためにすべてのメールを選択する方法を知らない
groups_mail | groups_mail_j (joint table) | mails
id, name | mail_id, groupe_id | id, name
。
質問が不明です。とにかくこれは私がその質問に基づいて理解したものです。
あなたは、3通のテーブルメール、groups_mailを持つ、あなたはすべてのテーブルを結合し、mails-> id列に基づいてすべてのレコードを取得したい
をgroups_mail_j。上記の次の
ここ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を知っていれば、再度照会する必要がないので、mail_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_idの
にコード化されたハードでまともな初心者の本やチュートリアルを助けることができるでしょうあなたのスペルかどうかであるgroup_idのまたはgroupe_id
をご確認くださいそれと。 – Strawberry