Chcete-li najít nejnovější časové razítko, použijte nejprve operátor porovnání k vyloučení budoucích časových razítek. Dále seřaďte podle nejmenšího intervalu odečtením možných kandidátů na časové razítko od požadovaného časového razítka. Chcete-li získat pouze nejnovější výsledek, limit 1.
Chcete-li získat tabulku2 val
sloupec pro zobrazení se sloupci tabulka1, stačí spustit stejný kód pro tabulku2 v rámci poddotazu.
SELECT update_time AS time, id1, id2, val, (
SELECT val from table2
WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1
)
FROM table1 WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1;