【发布时间】:2021-03-24 20:24:55
【问题描述】:
我尝试结合我的结果,如果“txtApplName”和“LeaveTypeDesc”相同,则总天数应添加并在加上“Totaldays”之后显示。
例如,在图像记录号 6 和 7 中应合并结果并添加“txtApplTotalDays”。我被困在这里。顺便说一句,我使用的是 SQL Server 2014。
select txtApplName, type.LeaveTypeDesc, department.DeptName, txtManagerName, final.txtApplTotalDays, final.txtApplLeaveStartDate, final.txtApplLeaveEndDate
from [dbo].[EN_TBL_FINAL_FORM] final
INNER JOIN EN_TBL_MAST_DEPARTMENT department on final.lstApplDepartment = department.DeptID
INNER JOIN EN_TBL_MAST_LEAVETYPE type on final.lstApplLeaveType =type.LeaveTypeID
where final.txtApplLeaveStartDate >= 'GETDATE()-10' and final.txtApplLeaveEndDate <= 'GETDATE()'
Sample Data:
txtApplName LeaveTypeDesc DeptName txtManagerName txtApplTotalDays
Ng Hospitalization Development PH 2.0
Aqila Maternity Leave Human ELE 1.0
Sharah Annual Leave Human ELE 1.0
Sharah Annual Leave Human ELE 1.0
Aqilah Annual Leave Human ELE 1.0
Expected Data:
txtApplName LeaveTypeDesc DeptName txtManagerName txtApplTotalDays
Ng Hospitalization Development PH 2.0
Aqilah Maternity Leave Human ELE 1.0
Sharah Annual Leave Human ELE 2.0
Aqila Annual Leave Human ELE 1.0
【问题讨论】:
-
请以格式化文本或更好的 DDL/DML 语句形式显示示例数据和预期结果,而不是图像。我建议使用较短的(1 或 2 个字符)别名,目的是使查询更简洁。我建议与您的外壳保持一致,选择您是使用小写还是大写(或混合),然后始终使用它。这将使您的查询更易于阅读。合并这两条记录的标准是什么,将使用什么开始日期?
-
我仍然在测试阶段发布的查询,我试图实现的是如果 LeaveTypeDesc 和 txtApplName 相同,则记录应仅显示一条记录,但应添加 txtAppltotalDays。
-
我编辑了原始帖子,并添加了示例数据和预期结果。注意:日期可以是随机的,我可以选择我想要的任何日期
标签: sql sql-server tsql sum sql-server-2014