Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/05/2014, 07:27
locurafragil
 
Fecha de Ingreso: abril-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Respuesta: Obtener n registros detalles de cada registro maestro

Buenas gente, después de analizar el código de gnzsoloyo (genio!!), nos sentamos con un amigo (Luciano conocido como @inluciad) e intentamos resolverlo a partir del concepto que nos pasó!!!

No olvido que @jurena también me posteo la solución en el primer enlace, era cuestión de estudiarla!!

Finalmente lo pudimos resolver!!!

El código nos funcionó de esta forma:



Código SQL:
Ver original
  1. SELECT IF(codigomaestro = @cm, @contador:=@contador+1, @contador:=1 AND @cm:=codigomaestro) contador,  descripcion, codigomaestro
  2.  
  3. FROM (SELECT @cm:=1, @contador:=0) r, tabladetalle
  4.  
  5. GROUP BY contador, codigomaestro
  6. HAVING contador <= 3
  7.  
  8. ORDER BY codigomaestro


Explico más o menos la query:
- En el IF hacemos la comparación del código maestro, si es igual incrementamos @contador en 1 sino le asignamos 1 y además asignamos a codigomaestro el del registro actual.
- Luego del FROM asignamos las variables y nombramos la tabla.
- Finalmente agrupamos por codigomaestro y mencionamos si o sí en el GROUP BY al contador para poder utilizarlo en el HAVING


De esta forma me trae tres registros detalle de cada registro maestro!!

Desde ya muchas gracias a todos!!!

Última edición por locurafragil; 06/05/2014 a las 07:37