具有前任的SQL列表帐户管理器
发布时间:2020-05-24 15:04:40 所属栏目:MsSql 来源:互联网
导读:我有以下我似乎无法弄清楚.我正在尝试获取帐户中的帐户管理员列表,他们的开始/结束日期以及在一行中接管帐户的新帐户管理员. 例: DECLARE @accountManagerListing TABLE ( accountNumber INT,
|
我有以下我似乎无法弄清楚.我正在尝试获取帐户中的帐户管理员列表,他们的开始/结束日期以及在一行中接管帐户的新帐户管理员. 例: DECLARE @accountManagerListing TABLE
(
accountNumber INT,accountManager VARCHAR(8),accountManagerStartDate DATE,accountManagerEndDate DATE
)
INSERT INTO @accountManagerListing (accountNumber,accountManager,accountManagerStartDate,accountManagerEndDate)
VALUES (1,'asmith','01/01/2001','01/31/2001'),(1,'bsmith','02/01/2001','03/01/2002'),'csmith','03/02/2002','03/10/2002'),'dsmith','03/11/2002','06/01/2017'),'esmith','06/02/2017','08/17/2018'),(2,'fsmith','02/11/2018','06/01/2018'),'gsmith','06/02/2018',null)
预期成绩: Account Number Old Account Manager New Account Manager Start Date End Date 1 asmith 01/01/2001 01/31/2001 1 asmith bsmith 02/01/2001 03/01/2002 1 bsmith csmith 03/02/2002 03/10/2002 1 csmith dsmith 03/11/2002 06/01/2017 1 dsmith esmith 06/02/2017 08/17/2018 2 fsmith 02/11/2018 06/01/2018 2 fsmith gsmith 06/02/2018 NULL 解决方法使用lag():select a.*,lag(accountManager) over (partition by accountnumber order by accountManagerStartDate) as OldAccountManager from @accountManagerListing a; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Server误区:在SQL Server 2000兼容模式下不能使用DMV
- MySQL replace函数替换字符串语句的用法
- MySQL数据库InnoDB引擎下服务器断电数据恢复方法
- asp.net下Oracle,SQL Server,Access万能数据库通用类
- sql-server – ALTER TABLE my_table ADD @column INT
- sql – 将现有列转换为Identity
- redis启动流程介绍
- 不区分大小写重复SQL
- sql-server – 为什么这个查询不使用索引假脱机?
- sql – 带有SubQueries和Group Functions的Oracle-Bug
