У меня есть база данных со следующими двумя таблицами:
+------------+-------+---------+
| customer_id| name | surname |
+------------+-------+---------+
| 123 | Bob | Johnson |
| 124 | Alice | Smith |
| 125 | Fred | Rogers |
+------------+-------+---------+
+------------+-------------+--------------+------------+
| address_id | customer_id | address_1 | address_2 |
+------------+-------------+--------------+------------+
| 1 | 123 | 123 A Street | Oneville |
| 2 | 124 | 321 B Street | Twoville |
| 3 | 124 | 42 C Street | Threeville |
| 4 | 125 | 23 D Street | Fourville |
+------------+-------------+--------------+------------+
Я пытаюсь использовать запрос, чтобы получить дополнительные строки с тем же идентификатором клиента из таблицы адресов в формате, подобном этому, с дополнительными адресами, добавленными в строку:
+-------------+---------------+--------------+------------+--------------+------------+
| customer_id | customer_name | address_1 | address_2 | address_3 | address_4 |
+-------------+---------------+--------------+------------+--------------+------------+
| 123 | Bob | 123 A Street | Oneville | | |
| 124 | Alice | 321 B Street | Twoville | 42 C Street | Threeville |
| 125 | Fred | 23 D Street | Fourville | | |
+-------------+---------------+--------------+------------+--------------+------------+
В настоящее время мой (упрощенный) запрос выглядит так:
SELECT
c.customer_id,
c.name AS 'customer_name',
a.address_1,
a.address_2,
FROM
customer c
LEFT JOIN
address a ON c.customer_id = a.customer_id
GROUP BY a.customer_id
Исходя из того, что я уже нашел здесь, я попытался добавить подзапрос, чтобы сделать это, но я не думаю, что понимаю их достаточно хорошо, чтобы заставить его работать как задумано.
Кроме того, я хотел бы поблагодарить участников этого сайта за то, что они нашли меня, несмотря на чрезвычайно запутанную базу данных продуктов, которую я экспортировал до этого. Разве миграция веб-сайтов не интересна?