2011-05-11 39 views
0

我想寫一個查詢,通過日期表連接到自己的表。日期表每天填充一天,日期超過200年(不要問我沒有設計它)。它有一個日期欄和一個前一個工作日期欄(如果它的一個星期一的前一天是上一個星期五)。T-SQL查詢自加入通過日期表

另一張表讓我們稱之爲價格有一個日期列和一個ID來確定每天到來的價格類型。我需要通過日期表來加入價格,以便每天與前一天一起使用類型列來確定哪些屬於對方。

Todays Date | Todays Price | Previous Working Day Date | Previous Working Day Price | Price Type 

任何想法?

回答

1

也許是這樣的:

SELECT 
    today.Date, 
    today.Price, 
    yesterday.Date, 
    yesterday.Price, 
    today.PriceType 
FROM Price today 
    INNER JOIN dates d ON today.Date = d.Date 
    INNER JOIN Price yesterday 
    ON d.YesterdayDate = yesterday.Date AND today.PriceType = yesterday.PriceType 
1

喜歡的東西:

SELECT today.Date, today.Price, lwd.Date, lwd.Price, today.TypeId 
FROM Price AS today 
JOIN Date AS d 
ON d.Date = today.Date 
JOIN Price AS lwd 
ON lwd.Date = d.PreviousWorkingDate