【问题标题】:Find Employees having Pending Salary查找有待定薪水的员工
【发布时间】:2020-02-14 10:28:35
【问题描述】:

有一个表格 - 'EmpSalary' - 包含员工 ID、工资支付日期和工资金额。当为员工支付工资时,将在此表中发布一个条目。 我想找出在本年度的给定月份之前工资待定(意味着没有工资或部分工资)的员工。 整个员工都可以在“员工”表中找到。我正在使用 SQL Server 2005

EmpID   SalDate     Amount      AmtPending
------  -------     -------     ----------
1       3 Jan 2019  5000        0
2       4 Jan 2019  3000        500
3       4 Jan 2019  4000        0

1       4 Feb 2019  4500        500
3       4 Feb 2019  4000        0

1       3 Mar 2019  5000        0

预期结果 - 待到 2 月

EmpID   Amount
------  ------
1       500
2       4000     --500 from Jan + 3500 from Feb

由于 3 到 2 月还没有待处理,所以不需要显示 3

【问题讨论】:

  • 向我们展示一些示例表数据和预期结果 - 全部为格式化文本,没有图像。还可以看看minimal reproducible example。'
  • 另外,请解释您使用 SQL Server 2005 的原因,该产品已过期多年。
  • 这是一个旧系统...一些维护项目
  • 你怎么知道 EmpID 2 从 2 月开始有 3500 个待处理

标签: sql join sql-server-2005


【解决方案1】:

你只想要group byhaving吗?

select empid, sum(amtpending)
from empsalary
group by empid
having sum(amtpending) > 0;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2021-01-25
    相关资源
    最近更新 更多