Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/10/2012, 01:46
GeriReshef
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 10 meses
Puntos: 40
Respuesta: Query de Ultima fecha de actualizacion

He intentado y me funcionó correctamente:
Código SQL:
Ver original
  1. CREATE TABLE Ordr (ID INT, Fecha DateTime);
  2. GO
  3.  
  4. INSERT INTO Ordr SELECT 1,'20120101'; --2 antes
  5. INSERT INTO Ordr SELECT 2,'20120101'; --1 antes, 1 despues
  6. INSERT INTO Ordr SELECT 3,'20120101'; --2 despues
  7. INSERT INTO Ordr SELECT 4,'20120101'; --0
  8.  
  9. CREATE TABLE AITW (ID INT, Fecha DateTime);
  10. GO
  11.  
  12. INSERT INTO AITW SELECT 1,'20110101';
  13. INSERT INTO AITW SELECT 1,'20120101';
  14. INSERT INTO AITW SELECT 2,'20110101';
  15. INSERT INTO AITW SELECT 2,'20130101';
  16. INSERT INTO AITW SELECT 3,'20130101';
  17. INSERT INTO AITW SELECT 3,'20140101';
  18.  
  19. SELECT  *
  20. FROM    ORDR T1
  21. OUTER Apply (SELECT  Top 1 *
  22.         FROM    AITW T2
  23.         WHERE   T2.ID=T1.ID
  24.                 AND T2.Fecha<=T1.Fecha
  25.         ORDER BY T2.Fecha DESC) T21;
  26.  
  27. /*
  28. ID  Fecha                   ID      Fecha
  29. 1   2012-01-01 00:00:00.000 1       2012-01-01 00:00:00.000
  30. 2   2012-01-01 00:00:00.000 2       2011-01-01 00:00:00.000
  31. 3   2012-01-01 00:00:00.000 NULL    NULL
  32. 4   2012-01-01 00:00:00.000 NULL    NULL
  33. */
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog