日安!我试着搜索整个堆栈溢出的问题,但我找不到合适的关键字搜索,我想更好的要求你们的帮助。
我正在试图创建一个基于两个表的出席历史:
table
出勤表的数据如下所示
| idnumber | punchin | punhout | date_created |
+-------------+-------------+-------------+----------------+
| 0002 | 7:30:00 | 16:00:00 | 2021-11-27 |
| 0003 | 7:30:00 | 16:00:00 | 2021-11-27 |
| 0004 | 7:30:00 | 16:00:00 | 2021-11-27 |
| 0002 | 7:30:00 | 16:00:00 | 2021-11-28 |
| 0003 | 7:30:00 | 16:00:00 | 2021-11-28 |
| 0004 | 7:30:00 | 16:00:00 | 2021-11-28 |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-29 |
| 0002 | 7:30:00 | 16:00:00 | 2021-11-29 |
| 0003 | 7:30:00 | 16:00:00 | 2021-11-29 |
| 0004 | 7:30:00 | 16:00:00 | 2021-11-29 |calendar_dimension只是一个包含日期的基本表,如下所示:
请注意,这是一个完整的月日历:
| date | datestatus |
+-------------+---------------+
| 2021-11- 1 to 2021-11-25 |
| 2021-11-26 | Holiday |
| 2021-11-27 | |
| 2021-11-28 | |
| 2021-11-29 | |
| 2021-11-30 | |到目前为止,我所做的是通过加入calendar_dimension和考勤表。
现在,我有这样的事情:例如00001,它正在为我工作:
| idnumber | punchin | punhout | date_created |
+-------------+-------------+-------------+----------------+
| 0001 | 7:30:00 | 16:00:00 | 2021-11-29 |至于0002:
| idnumber | punchin | punhout | date_created | Status |
+-------------+-------------+-------------+----------------+------------+
| 0001 | 7:30:00 | 16:00:00 | 2021-11-27 | Present |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-28 | Present |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-29 | Present |我想让我的历史表看起来像这样:
| idnumber | punchin | punhout | date_created | Status |
+-------------+-------------+-------------+----------------+------------+
| 2021-11-1 to 2021-11-25 |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-26 | Holiday |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-27 | Absent |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-28 | Absent |
| 0001 | 7:30:00 | 16:00:00 | 2021-11-29 | Present |11月30日将于明天展出。
还有其他办法让这一切成为可能吗?谢谢
发布于 2021-11-29 01:31:09
我假设你是在计算status列,对吗?
一些类似于IF(datestatus = 'Holiday', 'Holiday', IFNULL(punchin, 'Absent', 'Present')) AS status的东西应该可以工作,尽管它有点不雅。
你必须确保你没有做一个内部连接来得到一个没有出席的行,例如,calendar_dimension c LEFT JOIN attendance a ON ...
https://stackoverflow.com/questions/70148848
复制相似问题