我正在使用Access 2010数据库,该数据库具有一个表,其中包含员工已请求关闭的关联名称范围,格式如下:
表DateRanges
Name--| StartDate | EndDate
Joe---| 12/20/13 | 12/22/13
Sue---| 12/24/13 | 12/26/13
Guy---| 12/30/13 | 01/02/14
我正在尝试进行一项查询,该查询会将数据更改为每个日期都有一条单独的记录,但也会为每条记录保留相应的名称。像这样:
表Separated
Name -- DatesOff
Joe ----- 12/20/13
Joe ----- 12/21/13
Joe ----- 12/22/13
Sue ----- 12/24/13
Sue ----- 12/26/13
Guy ----- 12/30/13
................
Guy ----- 01/02/13
我在这里看到了一些关于拆分日期范围的不同示例,但没有带来员工姓名/ ID。有任何想法吗?我愿意使用SQL或VBA来完成它。
答案 0 :(得分:5)
您可以创建一个包含每一天的表格,并将其加入DateRanges
表格,如下所示:
SELECT
dr.Name,
d.DateValue AS DatesOff
FROM
Days d
INNER JOIN
DateRanges dr
ON (d.DateValue BETWEEN dr.StartDate AND dr.EndDate)