Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/04/2016, 07:49
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Consulta Devolver máximo registro (Llave compuesta)

Sencillo, solamente ocupas hacer un subquery donde obtengas el maximo de cada fecha agrupado por seq_formulario y hagas un left join con la misma tabla para obtener lo que necesitas ;)................................................ ........


Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. seq_formulario INT,
  4. numacto INT,
  5. fchActo datetime
  6. )
  7.  
  8.  
  9. INSERT INTO #temp VALUES (1,18,'2010-07-22')
  10. INSERT INTO #temp VALUES (1,4,'2015-05-29')
  11. INSERT INTO #temp VALUES (1,22,'2009-06-30')
  12. INSERT INTO #temp VALUES (2,3,'2015-01-28')
  13. INSERT INTO #temp VALUES (2,5,'2009-06-30')
  14. INSERT INTO #temp VALUES (3,8,'2014-07-14')
  15. INSERT INTO #temp VALUES (3,16,'2009-08-03')
  16.  
  17.  
  18.  
  19. SELECT t1.* FROM #temp AS t1
  20. LEFT JOIN (SELECT seq_formulario, MAX(fchActo) fecha FROM #temp GROUP BY seq_formulario) AS t2 ON (t1.seq_formulario=t2.seq_formulario AND t1.fchActo=t2.fecha)
  21. WHERE t2.seq_formulario IS NOT NULL
  22. ORDER BY seq_formulario ASC

Resultado:

seq_formulario numacto fchActo
1 4 2015-05-29 00:00:00.000
2 3 2015-01-28 00:00:00.000
3 8 2014-07-14 00:00:00.000
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me