列の1つが複数の値で構成されている1つのクエリで行のリストを取得する必要があり、これを理解できませんでした。
人々へのメールを記録する 3 つのテーブルがあります。1 つのテーブルには、first_name、last_name、address など、個人の連絡先データがすべて含まれています。#1 - Mailing_1、#2 Mailing_2 など。3 番目のテーブルは、メーリング ID とユーザー ID をログに記録することで、これら 2 つを関連付けます。ここで、最後の列に各ユーザーが取得したメールインのリストが表示される、ユーザーの完全なリストを取得する必要があります。
これが私が試したことです:
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
これで必要なものは得られますが、ある人が 2 つ以上の郵送物を持っている場合、追加の行として表示されます。これらの行を結合する必要があるため、各人がクエリ結果に 1 つの行のみを持ち、最後の列にいくつかのメーリングがリストされます。つまり、次のようになります。
| 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 |
これは可能ですか?