Как сделать запрос в MySQL выбрать отца и детей, не повторяя строку отца - PullRequest
1 голос
/ 19 мая 2019

Я хотел бы получить данные таблицы, а данные потомков - в другой таблице, но я не знаю, как сделать запрос.

что я знаю, как это сделать, это обычный запрос выбора * из таблицы 1, я знаю, как выполнить "внутреннее соединение", но я не хочу, чтобы данные в таблице 1 "родитель" повторялись

select * form parent INNER JOIN childs on parent.pnt_id=childs.id_pnt;

родительские дети

+-----+----------+------+-------+   +-----+----------+-------+  
| id  |   pnt_id | info |infotwo|   | id  |   id_pnt |n_child|...  
+-----+----------+------+-------+   +-----+----------+-------+  
|    1|         5| home | big   |   |    5|         1|  joan | 
+-----+----------+------+-------+   +-----+----------+-------+  
|    2|         3| work | fat   |   |    3|         1|  luci |  
+-----+----------+------+-------+   +-----+----------+-------+  
|    3|         0| soft |  thin |   |    6|         2|  troy |  
+-----+----------+------+-------+   +-----+----------+-------+

Я бы хотел запрос в виде

$parents = arrar (
          info -> "home",
          infotwo -> "big",
          data_child -> arrar (
                      n_child -> "joan",
                      n_child -> "luci"
                     )
)

1 Ответ

0 голосов
/ 19 мая 2019

Я думаю, что вы хотите агрегации:

select p.info, p.infotwo, group_concat(n_child) as children
from parent p join
     childs c
     on p.pnt_id = c.id_pnt
where p.pnt_id = 1
group by p.info, p.infotwo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...