Forse cosi.
Codice PHP:
<?php
// Per simolare il risultato della query
$result = array();
$result[] = array('Impianto' => '00001','Operando' => 'F1','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0005');
$result[] = array('Impianto' => '00001','Operando' => 'F2','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0007');
$result[] = array('Impianto' => '00001','Operando' => 'F3','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0009');
$result[] = array('Impianto' => '00030','Operando' => 'F1','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0001');
$result[] = array('Impianto' => '00030','Operando' => 'F2','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0005');
$result[] = array('Impianto' => '00030','Operando' => 'F3','InizioValidita' => '01/01/2013','FineValidita' => '31/12/2014','ValoreAquisizione' => '0,0004');
$sav_impianto = null;
$final = array();
reset($result);
$line = current($result);
while ($line) {
if ($sav_impianto != $line['Impianto']) {
$sav_impianto = $line['Impianto'];
$impianto = $line['Impianto'];
$operando = $line['Operando'];
$inizio = $line['InizioValidita'];
$fine = $line['FineValidita'];
$valore = $line['ValoreAquisizione'];
$tempArray = array();
}
$tempArray[] = array('Operando'=>$line['Operando'],'ValoreAquisizione'=>$line['ValoreAquisizione']);
$line = next($result);
if ($sav_impianto != $line['Impianto'] || !$line) {
$final[] = array('Impianto' => $impianto, 'InizioValidita' => $inizio, 'FineValidita' => $fine, 'op1'=>$tempArray[0]['Operando'],
'op2'=>$tempArray[1]['Operando'],'op3'=>$tempArray[2]['Operando'],'val1'=>$tempArray[0]['ValoreAquisizione'],
'val2'=>$tempArray[1]['ValoreAquisizione'],'val3'=>$tempArray[2]['ValoreAquisizione']);
}
}
print_r($final);
?>