24/10/2015, 17:56
|
| 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 originalSELECT a.* FROM productos a WHERE EXISTS ( SELECT MIN(precio) minimo FROM productos WHERE a.precio IN ( SELECT MIN(precio) minimo2 FROM productos GROUP BY id_t ) GROUP BY id_t ORDER BY minimo ASC ) GROUP BY id_t ORDER BY precio ASC
De otro modo, se haría una consulta gigantesca.
Código SQL:
Ver originalSELECT a.* FROM productos a WHERE EXISTS ( SELECT MIN(precio) minimo1 FROM productos WHERE a.precio = ( SELECT MIN(precio) minimo11 FROM productos WHERE id_t = 1 ) GROUP BY id_t ORDER BY minimo1 ASC ) OR EXISTS ( SELECT MIN(precio) minimo2 FROM productos WHERE a.precio = ( SELECT MIN(precio) minimo22 FROM productos WHERE id_t = 2 ) GROUP BY id_t ORDER BY minimo2 ASC ) OR EXISTS ( SELECT MIN(precio) minimo3 FROM productos WHERE a.precio = ( SELECT MIN(precio) minimo33 FROM productos WHERE id_t = 3 ) GROUP BY id_t ORDER BY minimo3 ASC ) GROUP BY id_t 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 |