Idealmente, você gostaria que tudo na mesma tabela com algo em sua consulta para obter a versão correta, no entanto, você deve ter cuidado ao fazer isso, pois uma consulta ineficiente colocará carga extra em seu servidor. Se normalmente você selecionaria um único item como este:
SELECT * FROM your_table WHERE id = 42
Isso se tornaria então:
SELECT * FROM your_table
WHERE id = 42
AND date < '2010-10-12 15:23:24'
ORDER BY date DESC
LIMIT 1
Índice
(id, e_timestamp)
para permitir que isso funcione com eficiência. Selecionar várias linhas em uma única consulta é mais complicado e requer uma abordagem de grupo máximo, mas isso pode ser feito.