Hola a todos, tengo una consulta a una bd, en la cual básicamente tengo una tabla de productos y servicios (gc_items) relacionados a una tabla de precios (gc_items_precios) ya que cada ítem puede tener varios precios. El problema surge cuando quiero ordenar por precio de forma ascendente, si el ítem no tiene precio (no hay relación) devuelve "null" y siempre los pone primero, y yo quisiera que los ordene en forma ascendente con los null al final, ¿hay alguna forma de hacer posible esto?
Yo utilizo la siguiente consulta (es una bd MySQL):
Código:
<%
sql = "select a.id_item, a.id_comercio, a.tipo, a.marca, a.nombre, a.descripcion, b.pagos, b.precio, d.simbolo, c.nombre, c.ext, e.nombre, e.carpeta from ((((gc_items a left join gc_items_precios b on a.id_item = b.id_item and b.defecto = 1) left join gral_galerias_fotos c on c.id_galeria = a.id_galeria and c.orden = 1) left join gral_monedas d on d.id_moneda = d.id_moneda) inner join gc_comercios e on e.id_comercio = a.id_comercio) inner join gc_items_tapa f on f.id_item = a.id_item and f.orden < 4 where e.habilitado = 1 and a.id_rubro = " & id_rubro & " group by a.id_item order by length(c.nombre) desc, b.precio asc, a.nombre asc"
%>
Esta medio complejo el tema de la consulta (¿alguien sabe si se puede optimizar un poco o así esta bien?) pero funciona a la perfección, tengo ese único problema nomás.
Espero alguien me pueda ayudar, busqué algo por la red pero sigo cayendo en los null primero ("order by null desc" me tira cualquier cosa y no pude especificar el campo, y como hay varios null...) y estoy medio ajustado con los tiempos.
Un abrazo a todos y hasta luego!
Edit:
Ya sé que este post deberia ir en Bases de Datos, pero como por acá tengo más confianza empiezo por aquí, de todas formas si lo mueven, bue...