Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2014, 14:51
cybervandal
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 11 años, 5 meses
Puntos: 3
Planteamiento Erroneo en consulta mysql

Hola,
Haber si podeis echarme un cable, os explico un poco haber si me dais alguna idea de como lo haríais vosotros. Gracias por adelantado.

Que hago yo:
Extraigo de una tabla el nombre de las empresas que me interesan para después hacer una consulta con esas empresas en otra tabla, lo hago de la siguiente manera:
Código MySQL:
Ver original
  1. SELECT nombreEmpresa FROM empresas
  2. ORDER BY puntuacion DESC limit 0,5

En la siguiente consulta, me interesaría sacar 5 productos pero que sea 1 de cada una de ellas ordenados por el orden anterior (empresa con mas puntuacion) y despues dentro de esa empresa el mas reciente, fecha DESC.
Actualmetne lo tengo así, evidentemente sin éxito:
Código MySQL:
Ver original
  1.     (SELECT * FROM productosEmpresas WHERE nombreEmpresa IN ($empresasIn)
  2.     ORDER BY fecha DESC) AS aliasempresas
  3. GROUP BY nombreEmpresa LIMIT 0,5

Problemas con los que me encuentro:
- Creo que el planteamiento general no es correcto
- No me respeta el orden adquirido en la primera consulta, creo que por hacerlo con el IN
- Si una de las empresas no tuviera productos, pues en vez de mostrarme 5 resultados me mostraría 4,3,2...

Resumen de lo que intento conseguir:
Sacar 5 productos y que cada uno de esos productos sea de una empresa distinta (ordenado por empresa con mas puntuación) y además que esos productos sean los mas recientes de sus respectivas empresas y además para rizar más el rizo que si en una de las empresas con mayor puntuación no hay producto coja el producto de la siguiente empresa con mayor puntuación, de tal forma que siempre muestre 5 productos.

Madre mia la que estoy liando!
Ayuda! que alguien me haga ver el camino porque creo que me estoy liando yo solo

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

Última edición por gnzsoloyo; 20/06/2014 a las 16:14