3つのテーブルを結合するのは大変です。私は、ニュースレターのリストを取得するために参加したいnewsletter_items、newsletter_fields、およびnewsletter_mailgroupsを持っています。
Newsletter_items には次のフィールドが含まれます。
letter_id, letter_date, receivers, template, status
That can look like
1, 1234567899, 1,2 (comma separated), standard.html, 1
Newsletter_fields には次のフィールドが含まれます。
field_uid, field_name, field_content, field_letter_uid
That can look like
1, letter_headline, A great headline, 1
ここで、field_letter_uid は、フィールドが属するニュースレターです。
また、newsletter_mailgroups には次のフィールドが含まれます。
mailgroup_id, mailgroup_name, number_of_members
That can look like
1, Group1, 233
2, Group2, 124
3, Group3, 54
私が望むのは、これらの 3 つのテーブルを組み合わせて、次のようなすべてのニュースレターのリストを取得できるようにすることです。
Letter date | Letter headline | Receivers | Status
2008-01-01 12:00:00 | A great headline | Group1, Group 2 | 1
つまり、SQLクエリで3つのテーブルを結合し、そのプロセスでメールグループテーブルから受信者を選択し、グループ1、グループ2のようにカンマで区切って表示します
これは私が今得たものです
SELECT A.*, B.* FROM newsletter_items A, newsletter_fields B, WHERE B.field_letter_uid = A.letter_id AND field_name = 'letter_headline' AND A.template = '". $template ."';
しかし、メールグループをそこに入れる方法がわかりません。