För att hitta den senaste tidsstämpeln använd först jämförelseoperatorn för att utesluta framtida tidsstämplar. Ordna sedan efter minsta intervall genom att subtrahera möjliga tidsstämpelkandidater från din önskade tidsstämpel. För att bara få det senaste resultatet, begränsa 1.
För att få tabell2 val
kolumn som ska visas med tabell1-kolumnerna behöver du bara köra samma kod för tabell2 i en underfråga.
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;