Sql 服务器 2 列和多行之间的最小和最大日期

问题描述 投票:0回答:1

在Sqlserver 2019脚本中, 我有一张员工休假表,如下格式

Empcode  LeaveFrom    LeaveTo
A        23/07/2023    01/08/2023
         02/08/2023    03/08/2023
         04/08/2023    04/08/2023



B        10/07/2023    01/08/2023
         02/08/2023    03/08/2023

输出结果应该是

A        23/07/2023    04/08/2023
B        10/07/2023    03/08/2023

我已经使用了

leave function
,但仍然没有得到我预期的结果。寻找建议。

我已经尝试过

Leave function, row_number(), rank, dense_rank

datediff row-number dateadd dense-rank lead
1个回答
0
投票

我没找到你,但你可以试试这个:) SELECT Empcode, MIN(LeaveDate) AS MinLeaveDate, MAX(LeaveDate) AS MaxLeaveDate 从 ( SELECT Empcode、LeaveFrom AS LeaveDate FROM Leaves 联盟 从叶子中选择 Empcode、LeaveTo AS LeaveDate ) AS 组合叶 按 Empcode 分组;

© www.soinside.com 2019 - 2024. All rights reserved.