У меня две таблицы
table1
|---------------------|------------------|------------------|
| student_id | studentname | parentid |
|---------------------|------------------|------------------|
| 1 | Kobe | 1 |
|---------------------|------------------|------------------|
|---------------------|------------------|------------------|
| 2 | Lebron | 1 |
|---------------------|------------------|------------------|
table2
|---------------------|------------------|
| parentid | parentname |
|---------------------|------------------|
| 1 | Jordan |
|---------------------|------------------|
Я хочу выбрать выход, подобный этому
result
|---------------------|------------------|------------------|----------------
--
| parentid | parentname | childrenid | childrenname
|---------------------|------------------|------------------|------------------
| 1 | Jordan | 1,2 | Kobe,Jordan
|---------------------|------------------|------------------|------------------
это возможно? спасибо заранее, я уже использую этот запрос, но строки дублируют
select * from table2 left join table1 ON table1.parentid = table2.parentid
используйте GROUP_CONCAT
funtion в mysql
select parentname,
GROUP_CONCAT(student_id SEPARATOR ',') AS childrenid,
GROUP_CONCAT(studentname SEPARATOR ',') childrenname
from table2 p left join table1 s on
p.parentid=s.parentid
group by parentname
parentname childrenid childrenname
Jordan 1,2 Kobe,Lebron
Нет, это невозможно, вам нужно использовать левое соединение, которое приведет к двум рядам для Кобе и другим для Леброна.