my $stmt = 'SELECT projects FROM time_sheet WHERE subscriber_id = ?'; my $proj = $dbh->selectall_arrayref($stmt, {Slice => {}}, $subscriber_id); $stmt = 'SELECT users FROM time_sheet project_id = ?'; for my $i ( 0 .. $#$proj ) { my $time = $dbh->selectall_arrayref($stmt, {Slice => {}}, $project_id); for my $j ( 0 .. $#$time ) { push @users, $time->[$j]; } $proj->[$i]{'users'} = \@users; undef @users; }