Untuk menemukan stempel waktu terbaru, pertama-tama gunakan operator perbandingan untuk mengesampingkan stempel waktu mendatang. Selanjutnya, urutkan berdasarkan interval terkecil dengan mengurangkan kandidat stempel waktu yang mungkin dari stempel waktu yang Anda inginkan. Untuk mendapatkan hasil terbaru, batasi 1.
Untuk mendapatkan tabel2 val
kolom untuk ditampilkan dengan kolom table1, Anda hanya perlu menjalankan kode yang sama untuk table2 dalam subquery.
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;