MySQL Query显示时间表表数据,如每周日历

时间:2016-09-03 10:33:29

标签: mysql

我正在制作时间表程序。我想从我的DTR表中提取单个帐户的时间表数据,并将其显示为每周日历。这是我的DTR表的一个例子:

DTR TABLE (select * from DTR where empbio=12934;)
+--------+------------+----------+-----------+
| empbio | dtr_date   | dtr_time | in_or_out |
+--------+------------+----------+-----------+
|  12934 | 2016-08-22 | 15:52:21 | 0         |
|  12934 | 2016-08-22 | 15:58:54 | 1         |
|  12934 | 2016-08-22 | 19:20:16 | 1         |
|  12934 | 2016-08-23 | 08:30:51 | 0         |
|  12934 | 2016-08-24 | 07:36:47 | 0         |
|  12934 | 2016-08-24 | 07:48:40 | 0         |
|  12934 | 2016-08-24 | 18:08:55 | 1         |
|  12934 | 2016-08-25 | 08:11:11 | 0         |
|  12934 | 2016-08-25 | 18:23:06 | 1         |
|  12934 | 2016-08-26 | 19:22:46 | 1         |
+--------+------------+----------+-----------+
10 row(s)

0表示登录,1表示注销。如果仔细查看表格,可以在一天内进行多次登录或注销(日期2016-08-22和2016-08-24)。还有一些登录失败的情况(2016-08-26)或退出(2016-08-23)。

我希望使用一个查询将其显示为每周日历。请注意,0和1将替换为IN或OUT。我相信mysql concat函数在组合一行中的多个数据时非常有用。请帮我解决这个问题。

Expected MySQL Query Output
+-------------+---------------+-------------+-------------+-------------+
| 2016-08-22  | 2016-08-23    | 2016-08-24  | 2016-08-25  | 2016-08-26  |
+-------------+---------------+-------------+-------------+-------------+
| 15:52:21 IN | 08:30:51 IN   | 07:36:47 IN | 08:11:11 IN | 19:22:46 OUT|
| 15:58:54 OUT|               | 07:48:40 IN | 18:23:06 OUT|             |
| 19:20:16 OUT|               | 18:08:55 OUT|             |             |
+-------------+---------------+-------------+-------------+-------------+
1 row(s)

0 个答案:

没有答案