最新のタイムスタンプを見つけるには、最初に比較演算子を使用して、将来のタイムスタンプを除外します。次に、希望のタイムスタンプから可能なタイムスタンプ候補を差し引いて、最小間隔で並べ替えます。最新の結果を取得するには、1を制限します。
table2 val
を取得するには table1列と一緒に表示する列の場合、サブクエリ内でtable2に対して同じコードを実行する必要があります。
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;