我正在尝试编写一个通过日期表将表连接到自身的查询。日期表中每行填充一天,日期超过200年(不要问我没有设计它)。它有一个日期列和一个上一个工作日期的列(即如果它是星期一,则上一个星期五将是上一个星期五)。
另一个表格让我们称之为价格有一个日期列和一个ID来确定每天一次的价格类型。我需要通过日期表将价格与自己联系起来,以便每天使用类型列来确定哪一个属于彼此。
Todays Date | Todays Price | Previous Working Day Date | Previous Working Day Price | Price Type
任何想法?
答案 0 :(得分: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
答案 1 :(得分: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