Me parece, si no te entiendo mal, que tenés que hacer un join de la tabla sitios con la tabla visitas y de ésta última hacer la suma de visitas y ordenar por este campo calculado... no crear dos recordsets. Algo así:
Código:
SELECT sitios.Id, sitios.nombre, Sum(visitas.visitas) AS vTot FROM Sitios INNER JOIN Visitas ON Sitios.Id = Visitas.Id GROUP BY sitios.Id, sitios.nombre ORDER BY Sum(visitas.visitas) DESC