SQL Server:迭代日期和价格以获取开始日期和停止日期

时间:2018-02-19 22:00:19

标签: sql-server

如果我的问题不清楚,请原谅我。很难说出来。

所以,我有定价信息(包括示例截图),我需要有特定价格的开始和结束日期。 我的变量是: SFITM:短项目部件号, SFLITM:长项目编号(应与SFITM保持一致且不同), SFDATE:价格有效的日期, SFMMTL:行SFDATE的价格。 在这个例子中,我在我的查询中包含了row_number()分区(由sflitm命令,sflitm,sfdate)作为RowRank。

这是生产数据,因此价格可能会在下一行重复。 我要做的是返回价格的初始开始日期(在“RowRank”列中为1,SFDATE为“StartDate”。然后,如果价格在系列的下一行发生变化(根据SFLITM)列)和“RowRank”是1 + x然后日期将是SFDATE(下一行) - 1作为“EndDate”具有相应的价格(SFMMTL)。每个SFLITM的下一行(如果相同)与不同的价格(SFMMTL)将迭代SFDATE作为“StartDate”和“EndDate”,如前所述SFDATE -1。

当前脚本:

选择ROW_NUMBER()(由sflitm sflitm命令分区,sfdate)作为RowRank,x。* 从 ( 选择不同的sfitm,sflitm,sfdate,sfmmtl 来自vInvoiced,其中sfitm<> 0

)x

Example Data

Desired Format

0 个答案:

没有答案
相关问题