我有了價格歷史等幾個項目表 -SQL:結合域,但沒有重複
Item Date Price
X 1Jan13 100
X 2Jan13 110
...
X 31Dec13 115
Y 1Jan13 50
Y 2Jan13 47
...
Y 31Dec13 58
等。
我剛剛寫了一個查詢來找出特定商品的價格連續三天沒有變化的日期。使用兩個內部連接我的查詢返回輸出的格式如下 -
Item Date1 Date2 Date3 Price
X 2Jun13 3Jun13 4Jun13 110
X 3Jun13 4Jun13 5Jun13 110
...
X 29Dec13 30Dec13 31Dec13 125
Y 29Mar13 30Mar13 31Mar13 55
現在,我的問題是我怎麼能得到輸出格式如下
Item Date Price
X 2Jun13 110
X 3Jun13 110
X 4Jun13 110
X 5Jun13 110
X 29Dec13 125
X 30Dec13 125
X 31Dec13 125
等所有項目。也就是說,如何組合/合併三個日期字段(無重複)以生成單個日期字段?因爲正如你所看到的,與我現在所得到的相比,所需的格式更容易閱讀。
下面是我用我的查詢代碼:
Select x.*
From (
Select T1.ItemName As Item, T1.Date As Date_3, T2.Date As Date_2, T3.Date As Date_1,
Round((T1.Price - T2.Price), 2) As Change, Round((T1.Price - T3.Price), 2) As Change_2, T1.Price As Price
From MarketData As T1 Inner Join MarketData As T2 On T1.ItemName = T2.ItemName
Inner Join MarketData As T3 On T2.ItemName = T3.ItemName
Where (T1.Date = T3.Date + 2 Or (DatePart(DW, T3.Date) In (5, 6) And T1.Date = T3.Date + 4)) And
(T2.Date = T3.Date + 1 Or (DatePart(DW, T3.Date) = 6 And T2.Date = T3.Date + 3))
) As x
Where x.Change = 0 And x.Change_2 = 0
任何幫助深表感謝。
請上傳您所使用的代碼。 – Joe
請告訴我們您到目前爲止所嘗試的內容,並告訴我們您正在使用哪種RDBMS? –