Buena tarde,
La consulta anterior que había enviado realmente devuelven datos,
pero mal.
Me gustaría que pruebes lo siguiente en Access:
1º Crear una consulta llamada TTLCON con la siguiente SQL, para el total de consumo:
Código SQL
[-]SELECT carro.idcarro, Sum(CON.consumo) AS SumaDeconsumo
FROM carro INNER JOIN CONSUMO AS CON ON carro.idcarro = CON.idcarro
GROUP BY carro.idcarro;
2º Crear una consulta llamada TTLKM con la siguiente SQL, esto para el total kilómetros recorridos:
Código SQL
[-]SELECT carro.idcarro, Sum(DHR.Kmrecorrido) AS SumaDeKmrecorrido
FROM carro INNER JOIN (DESCHOJARUTA AS DHR INNER JOIN HOJARUTA AS HR ON DHR.IDHOJARUTA = HR.IDHOJARUTA) ON carro.idcarro = HR.idcarro
GROUP BY carro.idcarro;
3º Crear otra consulta llamada KM_CON con la siguiente SQL, esto para unir las 2 anteriores:
Código SQL
[-]SELECT carro.idcarro, Sum(TTLKM.SumaDeKmrecorrido) AS SumaDeSumaDeKmrecorrido, Sum(TTLCON.SumaDeconsumo) AS SumaDeSumaDeconsumo
FROM (TTLCON INNER JOIN carro ON TTLCON.idcarro = carro.idcarro) INNER JOIN TTLKM ON carro.idcarro = TTLKM.idcarro
GROUP BY carro.idcarro
ORDER BY carro.idcarro;
La 3º SQL es la que traerá la respuesta correcta, luego habría que probar cómo se resuelve en Delphi.
Esto es manteniendo la estructura de tu base de datos anterior.
Saludos.