MAX日期系列在另一个日期分组

时间:2015-10-13 18:40:57

标签: tsql max partition

我在阶段门项目管理系统中有两个表,一个(简化)表包含项目ID和每个门的实际门日期,1-5。在另一方面,我有所有预测数据的历史记录;预计收入,预计利润,预测年度等。每次更新预测时,它都会记录新的预测值,更改的时间戳和项目ID。要求是在第一个表中记录的实际登机日期之前检索最新更新的所有度量标准值。例如,Project 100的Gate 2日期为2014-12-18。我需要在该日期之前检索最新的值。

门日期表:

ProjectID     InternalGate2
---------     -------------
100           2014-12-18
2000          2013-01-15

历史度量表:

ProjectID     Metric    MetricYear    LastUpdated    MetricValue
---------     ------    ----------    -----------    -----------
100           Sales     2015          2013-09-05     125000
100           Sales     2016          2013-09-05     230000
100           GM        2015          2013-09-05     .48
100           GM        2016          2013-09-05     .49
100           Sales     2015          2014-05-26     200000
100           Sales     2016          2014-05-26     300000
100           GM        2015          2014-05-26     .50
100           GM        2016          2014-05-26     .51
100           Sales     2015          2015-01-28     300000
100           Sales     2016          2015-01-28     400000
100           GM        2015          2015-01-28     .55
100           GM        2016          2015-01-28     .56

2000          Sales     2014          2012-11-23     200000
2000          Sales     2015          2012-11-23     300000
2000          Sales     2016          2012-11-23     310000
2000          GM        2014          2012-11-23     .75
2000          GM        2015          2012-11-23     .77
2000          GM        2016          2012-11-23     .77
2000          Sales     2015          2013-02-11     450000
2000          Sales     2016          2013-02-11     450000
2000          Sales     2017          2013-02-11     500000
2000          GM        2015          2013-02-11     .68
2000          GM        2016          2013-02-11     .69
2000          GM        2017          2013-02-11     .70

对于此示例,结果集将是Project 100的四行,其LastUpdated日期为2014-05-26,因为这是2014-12-18之前的最后一次更新以及Project 2000的前六行数据更新2012-11-23。

非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

如果你愿意的话,CTE可以是一个子查询,但这很有用,基本上只使用两个连接。

- (void)textFieldDidBeginEditing:(UITextField *)textField {
   //Here you can you the same logic to find the indexPath of the cell like you use in case of a button.
}