我有三個表:SQL加入以獲得最新記錄
Measurements (MeasureID, Time, Distance, Value)
Events(EventID, Time Value)
EventValues (EventDataID, EventID, Type, Value)
我需要爲每一個測量,最近的事件(在過去)及其關聯的事件值數據。
我當前的查詢是相當難看:
SELECT
M.*,
(SELECT TOP 1 EV.value FROM [Event] E JOIN EventValues EV ON E.EventID = EV.EventID
WHERE M.Time >= E.Time ORDER BY M.Time-E.Time) AS Data,
FROM [Measure] M
ORDER BY M.Distance
,並只允許我從EventValues
表中選擇一列(我需要更多)
有什麼辦法這個可以用做加入?
編輯:我還需要從測量表中選擇所有條目,即使他們之前的第一個事件(即只選擇了加入空數據)
如何測量和事件的表realted?沒有外鍵,它們是通過時間值關聯的嗎? – Zohaib
是隻有時間 – Simon
如果對於給定的最近事件有2個EventValue記錄,那麼在這種情況下您的期望是什麼?要查看這兩個記錄還是僅查看其中的一個?此外,臨時表是否可以接受? – mjwills