sql - 写入查询以迭代就业数据表并执行服务持续时间的总和
问题描述
我正在研究员工数据库并尝试使用每个员工的服务时间查询员工结果集。Service Duration 将通过用 APP 日期和 TER 日期减去就业历史表 Ondate 来计算。有两张桌子
表 1 - 员工
Id - Primary key,
Name,
post,
Office,
Salary
表 2 - 工作经历
Id - Primary Key
ActionType,
OnDate,
EmployeeId - Foreign Key
有两种主要的操作类型: APP - 约会 TER - 终止
如果操作类型是 APP 和 TER,我需要计算员工历史记录的持续时间
表 2 - (就业历史)呈现这样的数据
Id | ActionType | OnDate | EmployeeId
-----------------------------------------------
1 | APP |02/02/2011 | 1
2 | TER |03/05/2018 | 1
3 | APP |01/07/2018 | 1
4 | TER |02/06/2019 | 1
5 | APP |01/01/2008 | 2
6 | TER |02/03/2014 | 2
目前我刚刚用 INNER JOIN 加入了两个表。如果员工历史有两个工作记录,那么它将给出这样的重复记录
EmpID | Name | OnDate | EndDate | Duration
----------------------------------------------
1 |emp1 |01/01/2016 | 02/06/2017 | 1.5 year
1 |emp1 |03/08/2017 | 31/12/2018 | 1.4 years
2 |emp2 |02/03/2015 | 05/04/2016 | 1.1 year
2 |emp2 |01/05/2017 | 19/03/2019 | 1.10 years
取而代之的是,我想获取每个员工记录的持续时间并将每个单独的记录相加并将其显示在一行中
我想要这样的结果集
Id | Name | Service Duration
----------------------------
1 |emp1 | 2.9 years
2 |emp2 | 2.2 Year
是否有可能得到这样的结果。请帮忙
解决方案
尝试这个:
select Id, sum(Duration)
from EmploymentHistory
group by Id
推荐阅读
- confidence-interval - 具有特定 beta 的置信区间
- google-cloud-platform - BigTable 应用程序配置文件未显示在云日志或监控中
- laravel - ElasticSearch 搜索和排序 has_child 关系
- python - Turtle Graphics 显示像素化图形
- pandas - 按组和移动窗口的累积回报(动量策略)
- c# - 不支持的私钥格式亚马逊支付
- python - 如何使用 Pyspark/Python 从 Microsoft Graph API 有效地获取组织层次结构?
- c# - 在 C# 机器人中使用 Composer 对话框
- reactjs - 将 create-react-app 部署到 gh-pages 时出现白屏问题
- excel - Excel FIND 和 REPLACE 函数用于唯一编号