Hola de nuevo franfjmu:
Creo que la consulta que pones es correcta, pero no te recomiendo que hagas este tipo de unión entre tablas
Código:
FROM Tabla1, Tabla2 WHERE Tabla1.CampoID = Tabla2.CampoID
Lo más convenientes es que SIEMPRE UTILICES JOIN para hacer las uniones. La consulta quedaría más o menos asi:
Código:
SELECT T3.phone1 telf_actual, T1.site_no, T1.phone1, max_change_date FROM site_archive T1 INNER JOIN
(
SELECT site_no, max(change_date) max_change_date FROM
site_archive GROUP BY site_no
) T2 ON T1.site_no = T2.site_no AND T1.change_date = T2.max_change_date
INNER JOIN site T3
ON T1.site_no = T3.site_no
WHERE T1.site_no<'100'--filtro para hacer una prueba rápida
AND T1.phone1 <>T3.phone1
En estos momentos no tengo forma de probar la consulta, pero el resultado debería de ser el mismo. Y como dices, la única forma de aprender a hacer consultas elaboradas el estudiando y practicando.
Saludos
Leo.