Hola franfjmu:
La idea del foro no es hacer el trabajo de otros, sino ayudar con las dudas concretas que tienen los foristas. Es por eso que el compañero Heimish2000 te pide que nos pongas algo del código que llevas, para ayudarte a afinarlo. En tu post no mencionas qué problema es el que tienes, cosa que complica aun más el poder ayudarte. Ojo con eso.
Creo que la parte que más se te puede complicar es obtener el último registro para cada site_no, checa este código
Código SQL:
Ver originalDECLARE @tabla_cambios TABLE (site_no INT, phone1 VARCHAR(15), change_date datetime)
INSERT INTO @tabla_cambios VALUES (1, '111111111', '2006-12-14 11:35')
INSERT INTO @tabla_cambios VALUES (1, '121212121', '2010-06-17 11:04')
INSERT INTO @tabla_cambios VALUES (1, '111111111', '2010-06-17 11:05')
INSERT INTO @tabla_cambios VALUES (2, 'NULL', '2004-02-23 12:06')
INSERT INTO @tabla_cambios VALUES (2, '666666666', '2005-10-13 9:32')
INSERT INTO @tabla_cambios VALUES (2, 'NULL', '2011-01-12 19:17')
INSERT INTO @tabla_cambios VALUES (4, '6665557585', '2004-03-17 3:56')
SELECT * FROM @tabla_cambios
SELECT T1.* FROM @tabla_cambios T1 INNER JOIN
(
SELECT site_no, MAX(change_date) max_change_date FROM
@tabla_cambios GROUP BY site_no
) T2 ON T1.site_no = T2.site_no AND T1.change_date = T2.max_change_date
Con esto obtienes lo siquiente:
Código:
site_no|phone1|change_date
-------------------------------------------
1|111111111|2010-06-17 11:05:00.000
2|NULL|2011-01-12 19:17:00.000
4|6665557585|2004-03-17 03:56:00.000
Ahora lo que te toca hacer a tí es la unión con tu tabla_ahora para obtener aquellos donde los teléfonos no coincidan, espero que eso no te cueste mucho, al menos haz el intento por hacerlo y si tienes problemas lo comentas en el foro, postea algo de código y te ayudamos a afinarlo.
Saludos
Leo.