获取MS ACCESS出勤记录

时间:2012-08-17 13:25:34

标签: sql ms-access ms-access-2007

有出勤表,如:

| ATID | STID | ATDATE    | PRESENT |
..........................................................
| 1    |  25  | 6/8/2012  | true    |
| 2    |  25  | 7/8/2012  | true    |
| 3    |  25  | 15/8/2012 | true    |
| 4    |  25  | 19/8/2012 | false   |
| 5    |  25  | 25/8/2012 | true    |

数据如上表所示,但我需要这样:

| STID | ATDATE    | PRESENT |
..........................................................
|  null  | 1/8/2012   | null    |
|  null  | 2/8/2012   | null    |
..
..
|  25    | 6/8/2012   | true    |
|  25    | 7/8/2012   | true    |
..
..
|  null  | 30/8/2012  | null    |
|  25    | 31/8/2012  | true    |

记录少于几个月的天数,但我需要的记录取决于每月的天数,显示在表格中的记录和其他记录应该是虚拟的。

1 个答案:

答案 0 :(得分:2)

您需要创建一个日历表,其中包含每个相关日期的条目,并使用该条目加入您的考勤表。

 SELECT CalDate,STID,ATDATE,PRESENT 
 FROM Calendar
 LEFT JOIN Attendances
 ON Calendar.CalDate=Attendance.ATDATE    

这只是日历表的众多用途之一。