我很难将 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 个表,并在该过程中从邮件组表中选择接收者并显示它们以逗号分隔,如 Group1、Group 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 ."';
但我似乎无法弄清楚如何让邮件组进入其中。