Hola amigo espero no haber llegado tarde..
Lo que te sugiero es que hagas 2 consultas 1 para LOS DNI solo y otro para las demas columnas que pertenecen a ese DNI.
Abajo un ejemplo donde se listan las categorias,y su detalle, productos por categoria.
Código PHP:
<?php
$query = "select codcat,nomcat from categoria";
$rs = mysql_query($query);
echo "<table border=1>";
while($fila= mysql_fetch_array($rs)){
echo "<tr><td>".$fila["codcat"]."-".$fila["nomcat"]."</td><td>";
$query1 ="select nompro from producto where codcat={$fila["codcat"]}";
$rs1 = mysql_query($query1);
while($fila1= mysql_fetch_array($rs1)){
echo $fila1['nompro']."<br />";
}
echo "</td></tr>";
}
echo '</table>';
Espero te sirve o te de una idea de como combinar las consultas.
Ya que lo que quieres hacer es mas para reportes.