我遇到以下問題:我想用來自另一個表B的列「SOURCE_VALUE」中的值更新表A的列「UPDATE_VALUE」。兩個表都有一個時間戳列,並且應該在表A中被更新的值應爲表B中的行的具有最高時間戳越小一個/比表A.SQL:根據時間戳使用其他表中的值進行更新
的行的時間戳例如等於:
表B:
| ID | TIMESTAM P | SOURCE_VALUE |
| 1 | 2010-09-23 00:00:00 | VAL_1 |
| 2 | 2010-09-24 12:30:00 | VAL_2 |
| 2 | 2010-09-24 04:50:00 | VAL_3 |
| 3 | 2010-09-25 12:00:00 | VAL_4 |
| 3 | 2010-09-25 12:20:00 | VAL_5 |
| 4 | 2010-09-26 01:50:00 | VAL_6 |
| 4 | 2010-09-26 02:00:00 | VAL_7 |
| 5 | 2010-09-27 14:00:00 | VAL_8 |
| 6 | 2010-09-28 22:00:00 | VAL_9 |
所以表A的第1行的我想表B的VAL_1作爲此行的時間戳是最高的比列的表A.對於行的時間戳小於/等於表B的表AI的2需要表B的第4行,依此類推。完整的結果應該是這樣的:
表A:
| ID | TIMESTAMP | UPDATE_VALUE |
| 1 | 2010-09-23 14:25:00 | VAL_1 |
| 2 | 2010-09-25 12:00:00 | VAL_4 |
| 3 | 2010-09-25 14:00:00 | VAL_5 |
| 4 | 2010-09-27 16:50:00 | VAL_8 |
我使用SQLite 3,但在SQL查詢任何提示讚賞。
感謝您的時間和幫助,
杉
沒有什麼要求 – Unreason 2010-09-27 13:03:20