Hola yeyowave:
También voy a meter mi cuchara a riesgo de que me pase lo que a gnzsoloyo

.
En primer lugar, creo que te estás equivocando con el tono de tus respuestas hacia gnzsoloyo. Te aseguro que su intención siempre ha sido la de tratar de ayudar y basta con ver el número de mensajes y el karma que le han dado los usuarios para darse cuenta que es así, sin embargo, yo mismo tuve un "problema" similar por el tono que suele utilizar en sus post's. Sin embargo, creo en aquella ocasión pudimos aclarar la situación y darnos cuenta que todo fue un malentendido, como lo es ahora, desde mi punto de vista.
Lo que gnzsoloyo quería hacer notar de manera muy acertada por cierto es que CON LOS DATOS QUE PONES DE EJEMPLO, LA PRIMER CONSULTA QUE PONES DEBERÍA FUNCIONAR. Te pido dos minutos de tu tiempo para que cheques este script (que es básicamente el mismo que pone gnzsoloyo). En tu primer post dices esto:
Cita: pero ahora necesito mostrar el nombre y el stock del producto, como meto un left join? puesto que si lo pongo asi.
select stc.id_prod,pr.nombre,stc.f_actualizado,count(stod .id_prod) as esperan from avstock_cab stc left join productos pr on pr.id = stc.id_prod inner join avstock_det stod on stc.id_prod = stod.id_prod group by stc.id_prod
0, '', '20010230', 6 <---- no son 6, son 3 los que tienen que salir
1641, 'producto demo', '20120706', 4
Observa con atención este script, es la recreación de tus tablas de ejemplo CON LA MISMA CONSULTA QUE ESTÁS TRATANDO DE EJECUTAR:
Código MySQL:
Ver original+------+---------------+-------+
| id | nombre | stock |
+------+---------------+-------+
| 1641 | producto demo | 25 |
+------+---------------+-------+
+---------+------------+
| id_prod | ultima_sol |
+---------+------------+
| 0 | 20010230 |
| 1641 | 20120706 |
+---------+------------+
+---------+------------------+
| id_prod | email |
+---------+------------------+
+---------+------------------+
-> stc.id_prod,pr.nombre,
-> #stc.f_actualizado,
-> INNER JOIN avstock_det stod
ON stc.id_prod
= stod.id_prod
+---------+---------------+---------+
| id_prod | nombre | esperan |
+---------+---------------+---------+
| 1641 | producto demo | 4 |
+---------+---------------+---------+
Observa que el campo #stc.f_actualizado, está comentado porque no aparece en la estructura original de tus tablas. Con esta consulta el resultado ES EL QUE QUIERES OBTENER, en otras palabras
NO ES POSIBLE DETERMINAR CÓMO ES QUE OBTUVISTE UN 6 COMO RESULTADO. Eso es lo que gnzsoloyo quería hacer notar, pero no estoy seguro de si entendiste lo que quería decir.
En cuanto al modelo de BD, creo que gnzsoloyo olvidó que en ocasiones no es posible modificarlo, pues no está en nuestras manos hacerlos INDEPENDIENTEMENTE DE QUE SEA UNA "BASURA" O NO, "Jerarquía mata intelecto" dijo alguna vez uno de mis maestros. Pero Creo que sería conveniente que si fuera el caso y pudieras modificar tus tablas lo hagas. Estoy de acuerdo en que puede haber una inconsistencia de datos por la manera en que tienes definidas tus tablas.
En fin, no quiero alargar más el tema, como comentario final te pediría nuevamente que tengas cuidado en la manera en que respondes un post, INDEPENDIENTEMENTE SI FUISTE OFENDIDO O NO. Un Gran Maestro, dijo alguna vez:
Cita: "Cuando alguien te de una bofetada en la mejilla, preséntale la otra"
Si seguimos la regla del OJO POR OJO, el mundo se llenará de tuertos.
Y gnzsoloyo, alguna vez te dije también que tus palabras en ocasiones suelen ser duras y ofensivas, aunque tu no lo pienses... creo que no está tampoco de más revisar un poco lo que escribimos no crees???
Saludos a todos
Leo.