【发布时间】:2021-09-01 18:29:42
【问题描述】:
我正在尝试获取特定帐户名称的 startdate 不同的记录。我有以下示例数据。
示例数据脚本如下
create table Meter (AccountNumer varchar(50), MeterNumber varchar(50), StartDate date)
Insert into Meter Values('0142628117','123470203','4/22/2020')
Insert into Meter Values('0142628117','123470205','4/22/2020')
Insert into Meter Values('0160059948','100094717','4/24/2020')
Insert into Meter Values('0160059948','328144931','4/24/2020')
Insert into Meter Values('0500000178767001363445','TCA105238304','10/2/2018')
Insert into Meter Values('0500000178767001363445','TCA130359929','8/12/2019')
Insert into Meter Values('0500071816677001432356','1ND386803501','8/20/2019')
Insert into Meter Values('0500071816677001432356','99D024666064','7/18/2019')
RowNo AccountNumber MeterNumber StartDate
1 0500000178767001363445 TCA105238304 10/2/2018
2 0500000178767001363445 TCA130359929 8/12/2019
3 0160059948 100094717 4/24/2020
4 0160059948 328144931 4/24/2020
5 0500071816677001432356 1ND386803501 8/20/2019
6 0500071816677001432356 99D024666064 7/18/2019
7 0142628117 123470203 4/22/2020
8 0142628117 123470205 4/22/2020
我试图只获取帐号(两行)的开始日期不同的记录。所以我期望的结果如下表所示。
预期结果
RowNo AccountNumber MeterNumber StartDate
1 0500000178767001363445 TCA105238304 10/2/2018
2 0500000178767001363445 TCA130359929 8/12/2019
5 0500071816677001432356 1ND386803501 8/20/2019
6 0500071816677001432356 99D024666064 7/18/2019
任何帮助将不胜感激。
【问题讨论】:
-
from Meter m1 where exists (select * from Meter m2 where m2.accountnumber = m1.accountnumber and m2.startdate <> m1.startdate)? -
感谢@GSerg .. 这完全符合我的要求。
标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012