Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/10/2015, 17:56
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Agrupar resultados y ordenarlos

Saludo
Pues analizando el tema con EXISTS,
no veo más que usar un IN interno.

Código SQL:
Ver original
  1. SELECT a.*
  2. FROM productos a
  3. WHERE EXISTS
  4. (
  5. SELECT MIN(precio) minimo
  6. FROM productos
  7. WHERE a.precio IN
  8.     (
  9.     SELECT MIN(precio) minimo2
  10.     FROM productos
  11.     GROUP BY id_t
  12.     )
  13. GROUP BY id_t
  14. ORDER BY minimo ASC
  15. )
  16. GROUP BY id_t
  17. ORDER BY precio ASC

De otro modo, se haría una consulta gigantesca.
Código SQL:
Ver original
  1. SELECT a.*
  2.     FROM productos a
  3.     WHERE EXISTS
  4.     (
  5.     SELECT MIN(precio) minimo1
  6.     FROM productos
  7.     WHERE a.precio =
  8.         (
  9.         SELECT MIN(precio) minimo11
  10.         FROM productos
  11.         WHERE id_t = 1
  12.         )
  13.     GROUP BY id_t
  14.     ORDER BY minimo1 ASC
  15.     )
  16.     OR EXISTS
  17.     (
  18.     SELECT MIN(precio) minimo2
  19.     FROM productos
  20.     WHERE a.precio =
  21.         (
  22.         SELECT MIN(precio) minimo22
  23.         FROM productos
  24.         WHERE id_t = 2
  25.         )
  26.     GROUP BY id_t
  27.     ORDER BY minimo2 ASC
  28.     )
  29.     OR EXISTS
  30.     (
  31.     SELECT MIN(precio) minimo3
  32.     FROM productos
  33.     WHERE a.precio =
  34.         (
  35.         SELECT MIN(precio) minimo33
  36.         FROM productos
  37.         WHERE id_t = 3
  38.         )
  39.     GROUP BY id_t
  40.     ORDER BY minimo3 ASC
  41.     )
  42.     GROUP BY id_t
  43.     ORDER BY precio ASC

Y sí los id_t incrementan, tocaría manualmente modificar este query,
o hacer que se genere dinámicamente ya sea por la aplicación que
ejecutará el query, o a través de un store procedure.

Sin embargo, esperaré a lo que comente el joven invocado,
que en algún momento espero brinde su opinión al respecto.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 24/10/2015 a las 18:02