forse ho capito male io, ma secondo ti stai complicando la vita.
quando esegui una query con INNER JOIN, il risultato ti tira fuori tutti i campi di tutte le tabelle che in cui hai fatto la join.
quindi se esegui la query in maniera corretta ti ritrovi già tutto quello che ti serve dentro quell'array!