У меня есть таблица, которая выглядит как:Как правильно форматировать это заявление MySQL JOIN?
Таблица 1 ->
+----+--------+--------+
| id | name | author |
+----+--------+--------+
| 1 | First | Me |
| 2 | Second | You |
+----+--------+--------+
Таблица 2 ->
+-----+------------+-----------+------------+
| mid | table1_id | key | value |
+-----+------------+-----------+------------+
| 1 | 1 | desc | hello |
| 2 | 1 | begin_day | monday |
| 3 | 1 | end_day | tuesday |
| 4 | 2 | desc | goodbye |
| 5 | 2 | begin_day | wednesday |
| 6 | 2 | end_day | friday |
+-----+------------+-----------+------------+
Отношения здесь является то, что id
в таблице 1 соответствует table1_id
в таблице 2.
Выход, который я пытаюсь получить, это ...
+----+---------+---------+-------------+-----------+-----------+
| id | name | author | desc | begin_day | end_day |
+----+---------+---------+-------------+-----------+-----------+
| 1 | First | Me | hello | monday | tuesday |
| 1 | Second | You | goodbye | wednesday | friday |
+----+---------+---------+-------------+-----------+-----------+
Я пробовал несколько разных заявлений о присоединении - все варианты ниже. Однако я не так хорошо разбираюсь в MySQL-запросах.
SELECT * FROM table_1 LEFT JOIN table_2 on table_1.id = table_2.table1_id
Которая производит ...
+----+----------+----------+----------+------------+-----------+
| id | mid | name | author | key | value |
+----+----------+----------+----------+------------+-----------+
| 1 | 1 | First | Me | desc | hello |
| 1 | 2 | First | Me | begin_day | monday |
| 1 | 3 | First | Me | end_day | tuesday |
| 2 | 4 | Second | You | desc | goodbye |
| 2 | 5 | Second | You | begin_day | wednesday|
| 2 | 6 | Second | You | end_day | friday |
Очевидно, что итерация этого присоединиться к заявлению производит 6 результатов, 1 для каждой строки в таблице 2, которая соответствует идентификатору в таблице 1. Как я могу избежать этого с правильной формулировкой запроса?
Заранее спасибо.
Что вы имеете в виду «избегать этого .....», что вы ожидаете? – jcho360