Porque no intentas con un group by, creo que se adecua mejor a tu situacion:
Código:
SELECT COUNT(t_puntos_venta.id_punto_venta) AS total, t_puntos_venta.id_punto_venta
FROM t_datos_envio INNER JOIN t_puntos_venta ON t_datos_envio.id_punto_venta = t_puntos_venta.id_punto_venta
INNER JOIN t_envios ON t_envios.id_envio=t_datos_envio.id_envio
WHERE t_envios.id_envio=37
GROUP BY t_puntos_venta.id_punto_venta
Bueno todo depende de la informacion que quieras obtener, aclarando la logica como menciona jurena podiamos darte una mejor ayuda,
deadlykyo