Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2015, 19:19
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Seleccionar última repetición de registros de una tabla

Hola, Libras.

No he logrado el resultado esperado, solo obtengo los registros de la tabla 'Obras' y todos los demás campos asociados pero con valores nulos. Sin embargo, me diste una idea.

Inicialmente creí que usando la función MAX(), solo obtendría el registro (y no "los") cuyo valor del campo indicado sea el mayor de la tabla y dado que se trata del id, pues, sería el último. Probando la subconsulta que hiciste, me di cuenta de que eso no es así y fue desde ahí que partí para hallar la solución.

La consulta definitiva es la siguiente:

Código MySQL:
Ver original
  1. SELECT a.id, a.nomb, MAX(b.id) AS av_id, MAX(b.desc)
  2. FROM obras a
  3. INNER JOIN avances b
  4. ON a.id = b.id_ob
  5. GROUP BY b.id_ob

De este modo, el resultado es el siguiente:

Código Resultado:
Ver original
  1. id  nomb    av_id    desc
  2. 1   ob-1       11    desc nro. 4 de ob-1
  3. 2   ob-2        6    desc nro. 2 de ob-2
  4. 3   ob-3       12    desc nro. 2 de ob-3
  5. 4   ob-4        9    desc nro. 2 de ob-4
  6. 5   ob-5       10    desc nro. 2 de ob-5

Gracias por la ayudada brindada, estimado Libras. Saludos.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 04/08/2015 a las 20:53 Razón: Corrección