我需要使用一个查询获取行列表,其中一列由多个值组成,我无法弄清楚。
我有三个表记录给人们的邮件。一个表包含一个人的所有联系数据,例如名字、姓氏、地址等。第二个表包含具有唯一 ID 的邮寄姓名列表。像 #1 - Mailing_1、#2 Mailing_2 等。第三个表通过记录邮件 ID 和人员 ID 来联系这两个表。现在我需要获取完整的人员列表,其中最后一列将显示每个人收到的邮件列表。
这是我尝试过的:
SELECT p.fname, p.lname, p.address m.mailing_name FROM people p
JOIN mailings_liaison l ON l.contact_id - p.id
JOIN mailings m ON m.id = l.mailings_id
WHERE 1
ORDER by p.lname ASC
我得到了我需要的东西,但是如果一个人有两个或更多邮件,它会显示为额外的行。我需要合并这些行,以便每个人在查询结果中只有一行,最后一列中列出了几封邮件,即我得到:
| 1. | John | White | john@white.ru | Mailing_1 |
| 2. | John | White | john@white.ru | Mailing_2 |
但不知何故,我想得到:
| 1. | Jhon | White | john@white.ru | Mailing_1 Mailing_2 |
这可能吗?