我正在嘗試執行查詢以獲取值。我有兩張桌子。在同一查詢中選擇最近日期和確切日期
Table 1
具有以下列(RowID
,PercentValue
,TimeStamp
)。
Table 2
具有以下的列(RowID
,Elc
,TotalElc
,LbsPerHour
,TotalLbs
,Shift
,Timestamp
)。
Table 1
有'PercentValues
'這一欄對我很重要。它每六個月更換一次,有時一個月一次,但很少。當發生這種情況時,插入具有新值和新時間戳的新記錄。
Table 2
具有每天輸入三次的值。這些值是通過儀表板插入下面的列得到插入(Elc
,TotalElc
,LbsPerHour
,TotalLbs
和Shift
)的RowID
是自動遞增和GETDATE()用於ShiftTimeStamp)
我需要從查詢值表2基於日期並將它們插入到新表中3.因此,如果我在一個月前查詢,則很容易對錶2執行此操作,因爲我可以將它與確切的日期進行匹配,因爲我每天都有記錄。在表2中,我有幾條記錄。
我需要從table 1
PercentValue
乘以TotalElc
爲了給我一個PercentElc
。但是我需要PercentValue
在我在儀表板中選擇的最近日期之間。如果table 1
的PercentVaule
的0.20和timestamp
的7/7/2014以及另一個PercentValue
的.30的timestamp
的7/20/14,並且如果我查詢詢問table 2
在2014年7月10日的值;我應該期望從table 1
中檢索出PercentValue
。
如果在7/10/2014之前有多個條目,那麼PercentValue
應該是距離查詢日期最近的一個。這是我的代碼。我不確定如何正確編碼。任何幫助最受讚賞。謝謝 。
select b.ELC, b.TotalElc * a.PercentValue as PercentElc,
b.LbsPerCase, b.TotalLbs,Shift, b.ShiftTimeStamp
from Table1 a, Table2 b,
where b.ShiftTimeStamp= ‘{0}’ and b.Shift = ‘{1}’
「{0}」我從儀表板以選擇傳遞參數基於所述值截止日期和「{1}」是移位(基於1,2,3)
所以 「最近」 是嚴格之前?當你詢問'table1'的那天有'table2'的更新_during_條目時會發生什麼?你當天有2個不同的值,或者只有一個(是根據你的查詢日期還是存儲的時間戳)?我們可以得到樣本起始數據和期望的結果嗎? –