Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/03/2009, 07:11
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: los campos no corresponden....

Usar la función agregada MIN() es redundante cuando estás haciendo una agrupación. Los resultados pueden ser erráticos.
Cuando haces un ORDER BY eso hace que se ordenen según un criterio, pero ese criterio es en este caso el de sólo un campo:
Código sql:
Ver original
  1. SELECT precioofertado, numeropresupuesto, codigomodelo
  2. FROM presupuestosofertados
  3. ORDER BY precioofertado;

Y en realidad debes ordenar por precioofertado y codigomodelo.

Código sql:
Ver original
  1. SELECT precioofertado, numeropresupuesto, codigomodelo
  2. FROM presupuestosofertados
  3. ORDER BY precioofertado DESC, codigomodelo ASC;
De esa forma aparecerán agrupados por código y ordenados por el precio. Una vez q ue has logrado eso notarás que el precio menor queda arriba; pues bien, si haces un agrupamiento por el código, notarás que los restantes desaparecen, porque estas haciendo una acumulación de registros sobre el mismo valor, pero debes hacerlo como sbconsulta

Código sql:
Ver original
  1. SELECT precioofertado, numeropresupuesto, codigomodelo
  2. FROM
  3.    (SELECT precioofertado, numeropresupuesto, codigomodelo
  4.     FROM presupuestosofertados
  5.     ORDER BY precioofertado ASC codigomodelo DESC) T1
  6. GROUP BY codigomodelo;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)