寻找最接近的较低日期

2020-08-19 21:38发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


早晨


我在这里的第一篇文章,所以请客气!

我正在尝试找到一种基于匹配最接近的较低日期的数据的方法。

我有 2个表:

Employee_Bookings,其中包含我们员工的所有时间和出勤情况,并包含以下几列:
Emp_No
Date
Time_in
Time_out

Effective_Rate 包括员工的薪资水平以及生效的时间,并包括以下各列:
Emp_No
Eff_Date
Rate

我要做的就是在Employee_Bookings获得员工的薪水 通过找到最接近的下有效日期(Effective_Rate.Eff_Date)


我希望这是有道理的,并且有人能够将我指向正确的方向

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


早晨


我在这里的第一篇文章,所以请客气!

我正在尝试找到一种基于匹配最接近的较低日期的数据的方法。

我有 2个表:

Employee_Bookings,其中包含我们员工的所有时间和出勤情况,并包含以下几列:
Emp_No
Date
Time_in
Time_out

Effective_Rate 包括员工的薪资水平以及生效的时间,并包括以下各列:
Emp_No
Eff_Date
Rate

我要做的就是在Employee_Bookings获得员工的薪水 通过找到最接近的下有效日期(Effective_Rate.Eff_Date)


我希望这是有道理的,并且有人能够将我指向正确的方向

付费偷看设置
发送
1条回答
Nan4612
1楼-- · 2020-08-19 22:03

我认为仅通过在Database Expert中将表链接在一起就无法做到这一点。 相反,您将需要使用单个"命令"(SQL select语句)来收集报告所需的所有数据。 使用SQL Server语法可能看起来像这样,因为您没有指出要连接的数据库类型。 我还假设时间字段是数字,并且包含自午夜以来的分钟数-您需要修改查询的这一部分以使用实际的字段类型。

选择
   eb.Emp_no,
   eb.Date,
   eb.Time_Out-eb.Time_In分钟,
   (eb.Time_Out-eb.Time_In)* er.Rate pay
 来自Employee_Bookings eb
   内部联接有效率
     在eb.Emp_No = er.Emp_No上
       和er.Eff_Date =(
          选择最大值(er1.Eff_Date)
          来自Effective_Rate er1
          其中er1.Emp_No = eb.Emp_No
            和er1.Eff_Date <= eb.Date)
   <您需要获取的其他所有联接,例如,雇员姓名等>
 在<选择报告数据的其他条件> 

的位置,请参阅我的博客