Mysql Выборка из MySQL (JOIN)

proxnull

Новичок
ТАБЛИЦА 1
userID NAME
1 ВАСЯ
2 ПЕТЯ
ТАБЛИЦА 2 ( user_contacts )
userID type value
1 email [email protected]
2 phone +2222222

Нужно составить запрос к БД и получить данные в виде.

Array
(
0=>array
(
Id=>1
Name=> Имя 1
user_contacts=>array
(
0=>array
(
Type=>email
Value=>+222222222
)

Я пробывал
SELECT user.* FROM user
LEFT JOIN user_contact ON user_contact.userID = user.userID

Но значеия повторяються столько раз, сколько записей во 2 таблице а нужно что бы было в нутри еще 1 array
Array (
0=>array
(
Id=>1
Name=>Имя 1
type=>email
value=>[email protected]
1=>array
(
Id=>1
Name=>Имя 1
type=>phone
value=>+22222222
ИЛИ с помощью PHP, не теряя много производительности ?
Т.к Производительность это очень важно в моем случаи. И делать SELECT для каждой записи не очень.
Или хотя бы выбрать 1 такую запись, это возможно ? LIMIT 1 ( на 2 таблицу )
 

Активист

Активист
Команда форума
Так работает join.

Нужно делать условно так
PHP:
// some db
$users = array();
while ($row = $result->mysqli_fetch_assoc())
{
if (!isset($users[$row['id']]))
{
$users[$row['id']] = $row;
}

$users[$row['id']]['contacts'][] = array("somekey" => $row['column'], ...);
}
 
Последнее редактирование:
Сверху