我有两个表。他们目前在Access 2010中,但最终会迁移到Microsoft SQL 2010 DBMS。一个叫做EmployeeWages,另一个叫TimeClock。 EmployeeWages包含员工ID,工资和生效日期。 TimeClock表具有员工ID,与员工相关的工资以及工资有效的日期。匹配一个表的条目与另一个表中的两个日期之间的数据点
我需要做的是匹配雇员工作的正确工资。目前该表具有TimeIn和TimeOut字段。为了简单起见,在这个问题中,我已经计算了工作时间,但是如果我可以在一个查询中获得所有内容,那将非常棒。
EmployeeWage
----------------------------------------------------------------------
| EmployeeID | RecordNum | EffectiveDate | WorkType | Wage |
-+------------+-+-----------+-+---------------+-+----------+-+------+-
| 6240 | 1 | 1/18/13 | Line | 6 |
----------------------------------------------------------------------
| 6240 | 2 | 4/1/13 | Bench | 7 |
----------------------------------------------------------------------
| 6240 | 3 | 6/1/13 | Min | 7.35 |
----------------------------------------------------------------------
| 6240 | 4 | 6/23/13 | Bench | 5 |
----------------------------------------------------------------------
| 6240 | 5 | 6/24/13 | Bench | 6.25 |
----------------------------------------------------------------------
| 6240 | 5 | 6/25/13 | Bench | 7.25 |
----------------------------------------------------------------------
然后
TimeClock
--------------------------------------------------
| EmployeeID | WorkType | Work Date| Hours |
-+------------+-+----------+-+---------+-+------+-
| 6240 | Line | 6/22/13 | 5 |
--------------------------------------------------
| 6240 | Bench | 6/22/13 | 7 |
--------------------------------------------------
| 6240 | Bench | 6/23/13 | 5 |
--------------------------------------------------
| 6240 | Bench | 6/24/13 | 6.25 |
--------------------------------------------------
| 6240 | Min | 6/24/13 | 2 |
--------------------------------------------------
产生的匹配表应该像...
TimeClock
-----------------------------------------------------------
| EmployeeID | WorkType | Work Date| Hours | Wage |
-+------------+-+----------+-+---------+-+------+-+------+-
| 6240 | Line | 6/22/13 | 5 | 6 |
-----------------------------------------------------------
| 6240 | Bench | 6/22/13 | 6.25 | 7 |
-----------------------------------------------------------
| 6240 | Bench | 6/23/13 | 6 | 5 |
-----------------------------------------------------------
| 6240 | Bench | 6/24/13 | 5.5 | 6.25 |
-----------------------------------------------------------
| 6240 | Min | 6/24/13 | 2 | 7.35 |
-----------------------------------------------------------
任何帮助,使他们那里我将不胜感激!
你需要在加入一个额外条件,否则会产生(部分)Carthesian产品。 – wildplasser