Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/09/2010, 03:47
kikeking1
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 17
Duda subconsulta y order by

Bueno el otro dia descrubir el maravilloso mundo de las subconsultas, pero ahora me han traido un quebradero que no alcanzo a comprender, haber si los que ya la habeis experimentado, me podeis orientar un poco.

La consulta es esta (sacada desde un echo para no tener que incluir toda la programacion, ya que la variable es para un buscador, y tiene muchos campos opcionales)

Código PHP:
SELECT inmuebles.modo_inmuebleinmuebles.superficie_construida_inmuebleinmuebles.dormitorios_inmuebleinmuebles.post_precioinmuebles.id_inmuebleinmuebles.nombre_inmuebleinmuebles.descripcion_inmueble,

(
select inmuebles_fotos.foto_inmueble from inmuebles_fotos where inmuebles_fotos.id_inmueble=inmuebles.id_inmueble ORDER BY inmuebles_fotos.foto_principal ASC LIMIT 0,1) as foto_inmueble

inmuebles_subtipos.nombre_inmueble_subtipo1paises.nombre_paisprovincias.nombre_provinciaareas.nombre_area FROM inmuebles INNER JOIN inmuebles_subtipos ON (inmuebles.id_inmueble_subtipo inmuebles_subtipos.id_inmueble_subtipoINNER JOIN paises ON (inmuebles.id_pais paises.id_paisINNER JOIN provincias ON (inmuebles.id_provincia provincias.id_provinciaINNER JOIN areas ON (inmuebles.id_area areas.id_areaWHERE inmuebles.estado_inmueble 'visible' AND inmuebles.validacion 'si' 

ORDER BY  foto_inmueble DESCinmuebles.post_precio ASC 
intento algo tan simple como ordenar por fotos (los inmuebles con fotos primero, y los que no tienen despues) y precio (los mas baratos primero y los mas caros despues).

Hasta antes de integrar la subconsulta (que me ayuda a sacar la foto principal de cada innmueble) la respuesta venia ordenada, como queria. pero despues de añadirla no lo hace, ordenas por fotos, eso si, pero no por precio, aunque me di cuenta tras las pruebas, de que los inmuebles que no tienen fotos, si se ordenan por precio.

Por probar probe tambien a intentar ordenarlo en la subconsulta, pero el resultado seguia siendo el mismo.

Despues de mucho googlear, toda la informacion que encontre, era lo que ya sabia y lo que deberia ser (al especificar dos campos, deberia ordenarlo sin mas), tambien encontre algo referente al uso de comillas, para las alias, pero como no uso las comillas, tampoco deberia ser ese problema. (segun entendi, no se puede usar comillas en el orden by, pues si no no reconoces el alias como tal).

¿Alguien se le ocurre, como podria ordenarlo?¿hay que especificar de alguna forma especial que el campo a ordenar, es un alias?

Gracias de antemano.