Poner una subconsulta dentro del SELECT no es una buena idea. En general es algo que hay que evitar hacer porque cualquier subconsulta puesta allí se ejecuta una vez por cada registro obtenido de la consulta principal.
Eso quiere decir que si la consulta devuelve 1200 registros, la subconsulta se ejecutará 1200 veces...
Huelga decir lo que eso le hace a la performance.
En tu caso es más simple crear la subconsulta en el FROM, donde se ejecutará una sola vez. Pero uno de los problemas que tienes es que existe la posibilidad de que el resultado de la consulta sea NULL, y es imposible ordenar un NULL como primer campo y hace que el resultado sea al menos errático.
No es una buena elección de orden. El ordenamiento es preferible hacerlo sobre la base de campos que estés seguro de que existan, tales como la ciudad, barrio, calle, precio pedido, categorizaciones. Pero no en base a un campo que puede terminar siendo NULL.
En este punto lo más que puedes hacer es controlar los NULL, pero a menos que rediseñes la tabla resultado a mostrar, el problema subsistirá, solo que más controlado.
Una idea:
Código MySQL:
Ver original I.modo_inmueble,
I.superficie_construida_inmueble,
I.dormitorios_inmueble,
I.post_precio,
I.id_inmueble,
I.nombre_inmueble,
I.descripcion_inmueble,
IFNULL(foto_inmueble
, '') foto_inmueble
ISB.nombre_inmueble_subtipo1,
P.nombre_pais,
PR.nombre_provincia,
A.nombre_area
inmuebles_subtipos ISB
ON I.id_inmueble_subtipo
= ISB.id_inmueble_subtipo
INNER JOIN provincias PR
ON I.id_provincia
= PR.id_provincia
INNER JOIN (SELECT inmuebles_fotos.foto_inmueble
I.estado_inmueble
= 'visible' AND I.validacion = 'si'
Consejos:
- Trata de usar nombres más cortos en los nombres. Evitarás problemas para tipearlos.
- Procura estructurar la sentencia de modo que sea fácil de leer.
- Usa alias cortos para las tablas. Cuando son demasiado largos cuesta leer el conjunto.
- No pongas subconsultas en el SELECT si puedes evitarlo.
- Controla la salida de NULLs. Luego te traen problemas al tomar la tabla resultado en programación.