A mi me parece que como dices al obtener la consulta que repite el nombre , pero con su juguete y su posesion lo que se me ocurre es formar primero un arreglo del titulo con un distinct a la misma consulta pero de solo los nombres, al tener ya ese primer arreglo deberas formar un nuevo arreglo en la forma que tu lo vas a necesitar
asi se me ocurre de primera idea , no esta probado es pseudocodigo con adodb, pero diria el chapulin colorado , la idea es esa XD
Código PHP:
include_once("adodb/adodb.inc.php");
include_once("conexion.php");
$querymalevolo="
select distinct j.nombre_juguete
from nene as n
left join nene_juguete as nj on (n.codigo_nene=nj.codigo_nene)
inner join juguete as j on (j.codigo_juguete=nj.codigo_juguete)
";
$juegetes=$db->GetCol($querymalevolo);
$ostroquerymalevolo="
select n.nombre_nene, j.nombre_juguete,nj.posesion
from nene as n
left join nene_juguete as nj on (n.codigo_nene=nj.codigo_nene)
inner join juguete as j on (j.codigo_juguete=nj.codigo_juguete)
";
$elleftjoin =$db->GetAll($ostroquerymalevolo);
$nuevoarreglo=array();
$i=0;
$bandera="";
foreach ($elleftjoin as $data){
foreach ($juegetes as $data2){
if ($data["nombre_juguete"]==$data2["nombre_juguete"]) {
$nuevoarreglo[$i][$data["nombre_juguete"]]=$data["posesion"];
}
}
if ($bandera != $data["nombre"]) {
$nuevoarreglo[$i]["nombre"]=$data["nombre"];
$i++;
}
}
print_r($nuevoarreglo);