【发布时间】:2016-04-07 01:13:58
【问题描述】:
我需要在 sql server 中计算给定日期范围内的 EMPLOYEE Salary
我的数据是
EMPLOYEE RATE表:
EMPL_ID EFFECTIVE_DATE WAGE
101 5/23/2015 20
101 6/2/2016 30
PROJECT表:
EMPL_ID HRS_DT PROJECT_ID HOURS
101 1/1/2015 10001 8
101 1/2/2015 10001 8
101 1/3/2015 10001 8
... .... ..... ....
101 6/2/2016 .... ...
预期结果:
EMPL_ID HRS_DT PROJ_ID HR WAGES
101 1/1/2015 10001 8 20
101 1/2/2015 10001 8 20
101 1/3/2015 10001 8 20
... .... ... ...
.... 6/2/2016 30
【问题讨论】:
-
您说的是 SQL Server,但标记了 Oracle。您使用的是哪种产品?
-
这是一个非常基本的 SQL 查询。请使用 Google 并查找如何执行此操作,试一试,并发布您在尝试自己解决时遇到的任何问题。
-
您显示的数据看起来微不足道。但这是因为工资每天都在变化,并且两个表中的日期之间存在一对一的关系。您是否真的在工资变化和项目记录之间存在差距,并且您也想找到这些日期的适当工资值 - 即找出在任何给定日期的工资是多少?
-
是的,它们是数据中的差距。在生效日期内可能会有 2 个月到 1 年的差异
-
因此更改您的示例数据以显示这一点,并清楚地解释要求。不一定有这么大的差距,只是为了让您了解您的真实数据是什么样的,以及有差距的预期输出是什么。
标签: sql sql-server