Voy a meterme en este asunto para hacerte notar una cosa.
Con esta consulta:
Código MySQL:
Ver original stc.id_prod,
stc.ultima_sol,
count(stod.id_prod
) esperan
avstock_cab stc
ON stc.id_prod
= stod.id_prod
y en base a los datos de ejemplo que aportas, sólo existe una posibilidad para que se cumpla que devuelva el doble de la cuenta que debería:
Que haya en la tabla avstock_cab dos registros con id_prod = 0.
No existe otra posibilidad.
Lo que si te puedo hacer notar, además, es que
es una falla absolutamente catastrófica que exista en la tabla avstock_cab un id de producto que no exista en la tabla productos. Un diseñador que permita que eso ocurra pierde automáticamente el trabajo, sin más explicaciones; y proponerlo como parte de un examen final de base de datos haría que los profesores no sólo te reprueben, sino que te echen a patadas de la sala.
¿Cómo es posible que tengas ese nivel de inconsistencia?
Nadie en su sano juicio propondría un esquema sin restricciones de FK que permitan evitar semejante basura.