我正在使用SQL Server 2005.我有一個名爲Product的表。現在我需要找出某個月某個產品的價格。無論月底產品的價格是多少,都是價格。爲了使場景更清楚,我有下面的例子:SQL Server顯示歷史數據
CREATE TABLE Product(ProductID int, Product Varchar(50), Price Decimal(5,2), FromDate DateTime, ToDate Datetime);
數據可能看起來像如下:
INSERT INTO Product(ProductID, Product, Price, FromDate, ToDate)
SELECT 1,Pen,2.99,'01/15/2011','03/25/2011'
UNION
SELECT 2,Pen,3.99,'03/25/2011','05/02/2011'
UNION
SELECT 3,Pen,4.99,'05/02/2011',NULL
現在這裏,筆目前的價格是4.99,因爲它的TODATE仍然是空。現在1月份和2月份Pen的價格爲2.99。 3月25日筆的價格變爲3.99,所以3月份筆的價格爲3.99。筆的價格在五月份再次改爲4.99。所以5月份和5月份筆的價格是5月份。
現在,我需要編寫一個sql腳本,它會給我給定月份的產品價格。任何幫助,將不勝感激。
Fromdate可能是NULL嗎? – Sparky
看到這個:http://data.stackexchange.com/stackoverflow/s/2167/get-current-price –
沒有Fromdate永遠不會是NULL – niceApp