lo que pasa con tu consulta es que la primera no cuenta ni agrupa las id para asi asignar los resultados de la segundo, prueba asi, pero si aun la quieres con una sola, habria que ver como hacerla, a mi no me ha salido com la quieres, pero intentare a ver:
Código PHP:
Ver original//tomamos el dato 1 - El limit va a depender de como vas a estructurar tu query
$datoA = $db->query("SELECT COUNT(id) as raiz,id,datodetabla1 FROM tablaA GROUP BY id ORDER BY id ASC");
//aqui genero la lista de los elemtos encontrados, algo asi:
/* 1
2
3
4
5*/
while($rowA = $datoA->fetch_array()){
//tomamos la info de la tabla 2
$datoB = $db->query("SELECT SUM(dato) as cantidad,dato FROM tablaB WHERE id = '$rowA[raiz]'");
$rowB = $datoB->fetch_assoc();
//imprimimos el resultado
echo $rowA['raiz']." - ".$rowB['cantidad']." - ".$rowA['datodetabla1'];
/*El resultado deberia de ser algo asi:
1 - 40 - a
2 - 100 - b
3 - 70 - c
*/
}