No se comprende bien por qué levantas en esta consulta todos los datos:
Si en realidad solamente usas uno de ellos (el ID de cliente).
Además, usar el JOIN de esa forma puede ser poco eficiente. Yo personalmente recomiendo usar INNER JOIN (en tablas con muchos registros es mucho mejor):
Lo que no termino de comprender es para qué tomas esos valores para luego volver a tomar los mismos valores uno por uno.
¿Por qué lees una tabla y luego iteras la misma tabla sobre la base del ID?
¿Qué es exactamente lo que necesitas conseguir?
Si es un array de registros de la tabla, PHP tiene recursos para manejar eso sin complicarte tanto la vida.