【发布时间】:2021-09-02 14:30:40
【问题描述】:
我正在尝试获取每个 MeterNumber 的 Max(StartDate) 记录,然后尝试获取特定 AccountNumber 的 startdate、enddate 和 RateCode 不同的记录。
示例数据脚本如下
create table Meter
(
AccountNumer varchar(50),
MeterNumber varchar(50),
StartDate date,
EndDate date,
RateCode Varchar(50)
)
Insert into Meter Values('0142628117','123470203','4/22/2020','12/31/9999','UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20')
Insert into Meter Values('0142628117','123470203','4/10/2019', '4/9/2020', '***Custom***')
Insert into Meter Values('0142628117','123470205','4/22/2020','12/31/9999','UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20')
Insert into Meter Values('0142628117','123470205','4/10/2019', '4/9/2020', '***Custom***')
Insert into Meter Values('0500000178767001363445','TCA105238304','02/25/2016','04/22/2016', '***Custom***')
Insert into Meter Values('0500000178767001363445','TCA105238304','10/2/2018','08/11/2019', '***Custom***')
Insert into Meter Values('0500000178767001363445','TCA130359929','8/12/2019','12/31/9999', '***Custom***')
RowNo AccountNumer MeterNumber StartDate EndDate RateCode
1 0142628117 123470203 2020-04-22 9999-12-31 UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20
2 0142628117 123470203 2019-04-10 2020-04-09 ***Custom***
3 0142628117 123470205 2020-04-22 9999-12-31 UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20
4 0142628117 123470205 2019-04-10 2020-04-09 ***Custom***
5 0500000178767001363445 TCA105238304 2016-02-25 2016-04-22 ***Custom***
6 0500000178767001363445 TCA105238304 2018-10-02 2019-08-11 ***Custom***
7 0500000178767001363445 TCA130359929 2019-08-12 9999-12-31 ***Custom***
首先,我需要为每个MeterNumber 找到Max(StartDate),以获取特定的AccountNumber。输出应该是这样的:
RowNo AccountNumer MeterNumber StartDate EndDate RateCode
1 0142628117 123470203 2020-04-22 9999-12-31 UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20
3 0142628117 123470205 2020-04-22 9999-12-31 UGE-PECO-E-R-V-GRN-HOLDOVER-ETF0_APR20
6 0500000178767001363445 TCA105238304 2018-10-02 2019-08-11 ***Custom***
7 0500000178767001363445 TCA130359929 2019-08-12 9999-12-31 ***Custom***
然后我试图从(两行)获取帐号的开始日期、结束日期和费率代码不同的记录。所以我期望的最终结果如下表所示。
RowNo AccountNumer MeterNumber StartDate EndDate RateCode
6 0500000178767001363445 TCA105238304 2018-10-02 2019-08-11 ***Custom***
7 0500000178767001363445 TCA130359929 2019-08-12 9999-12-31 ***Custom***
任何帮助将不胜感激!
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012