簡體   English   中英

T-SQL查詢通過日期表自聯接

[英]T-SQL Query Self join via Date Table

我正在嘗試編寫一個通過日期表將表連接到自身的查詢。 日期表中每行填充一天,日期超過200年(不要問我沒有設計它)。 它有一個日期列和一個上一個工作日期的列(即如果它是星期一,則上一個星期五將是上一個星期五)。

另一個表格讓我們稱之為價格有一個日期列和一個ID來確定每天一次的價格類型。 我需要通過日期表將價格與自己聯系起來,以便每天使用類型列來確定哪一個屬於彼此。

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

有任何想法嗎?

就像是:

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

也許是這樣的:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM