Ho provato questa soluzione, ma mi restituisce più record per la stessa data e per ogni data mi riempie tutte le colonne uguali.

cosa sbaglio?

Codice PHP:
$result=odbc_exec($conn,"
          SELECT
            DAMOV,SUM(QTMOV) AS QTA,substr(CDPAR,1,1) AS PROD
          FROM
            FERF.MOMAG00f
          WHERE
            DAMOV >'"
.$dataricerca."'
            AND CDCAU='20'
            AND ATM01=''
            AND (substr(CDPAR,1,1)='B' or substr(CDPAR,1,1)='R' or substr(CDPAR,1,1)='D')
          GROUP BY DAMOV, substr(CDPAR,1,1)
          ORDER BY DAMOV
          "
);
while(
$riga odbc_fetch_array($result)){
    echo 
"<tr>
          <td>"
.substr($riga['DAMOV'],5,2).'/'.substr($riga['DAMOV'],3,2).'/'.substr($riga['DAMOV'],1,2)."</td>";
          
          IF (
$riga['prod']='B')
          {
        echo 
"<td align='right'>".number_format($riga['QTA'],2,",",".")."t </td>";
          }
          IF (
$riga['prod']='R')
          {
        echo 
"<td></td><td align='right'>".number_format($riga['QTA'],2,",",".")."t </td>";
          }
           IF (
$riga['prod']='D')
          {
        echo 
"<td></td><td></td><td align='right'>".number_format($riga['QTA'],2,",",".")."t </td>";
          }
          echo 
"</tr>";