Hola freedert:
Hay varios detalles a considerar en tu consulta:
En primer lugar, al poner esto:
y no poner ninguna condición de unión en el where ESTÁS REALIZANDO EL PRODUCTO CARTESIANO entre tus tablas... además, no es recomendable utilizar esta forma de unión entre tablas, en lugar de hacer las uniones explícitas DEBES UTILIZAR LOS JOIN'S.
Código:
en lugar de esto:
FROM tabla1, tabla2 WHERE tabla1.campo = tabla2.campo
hacer esto
FROM tabla1 INNER JOIN tabla2 ON tabla1.campo, tabla2.campo
En segundo lugar... el error de "ambiguous": el DBMS no es adivino, sólo puede hacer algo que no implique decisiones (a menos que le digas el criterio para elegir), al existir el campo en cod_cliente en todas las tablas, ¿cuál de los tres es el que debería utilizar para ordenar los datos?... debes especificar de manera clara sobre cuál de los tres campos se debe realizar la ordenación, anteponiendo el nombre de la tabla a la que hace referencia.
Código:
WHERE tabla1.campo = 'XXX' and tabla2.campo = 'YYY'
ORDER BY tabla3.campo
..................
De esta manera, no importa que el campo se repita en n tablas con el mismo nombre...
Mucho ojo... estos son conceptos básicos de Base de Datos... si apenas estás aprendiendo lee primero cualquier manual para principiantes, de lo contrario tendrás muchos dolores de cabeza.
Saludos
Leo.