select t1.*, group_concat( t2.name ) all_names
from table1 t1
inner join table2 t2 using (ID)
group by t1.ID
Я имел ввиду в одной строке не в виде строки, а в одной mysql строке, но каждый name в своей ячейке), просто вместо двумерного массива будет обычный.Это называется транспонирование. В mysql - только с большим геморроем, подготовкой нужной структуры у исходной таблицы итд. Подробнее stackoverflow.com/questions/7674786/mysql-pivot-table