【发布时间】:2015-11-18 22:51:56
【问题描述】:
我正在尝试查询包含员工在场记录的表。它记录芯片的员工ID和日期时间如下:
id datetime
3 2015-07-01 06:58:00.000
3 2015-07-01 12:01:00.000
3 2015-07-01 12:57:00.000
3 2015-07-01 19:17:00.000
3 2015-07-02 06:55:00.000
3 2015-07-02 14:05:00.000
15 2015-07-01 07:50:00.000
15 2015-07-01 12:01:00.000
15 2015-07-01 12:50:00.000
15 2015-07-01 18:04:00.000
我试图生成一个查询
id date entrance exit 2entrance 2exit
3 2015-07-01 06:58 12:01 12:57 19:17
3 2015-07-02 06:55 14:05 00:00 00:00
15 2015-07-01 07:50 12:01 12:50 18:04
但我正在寻找的最终结果是
id d1, d2, d3.. d31
3 11 7 12 6
15 9 0 6 12
(这是一整月每天的工作小时数)
为了得到这张表,我想用 excel 来处理以前的结果,但如果有人指出我正确的方向,我会很感激。
我们将不胜感激。
【问题讨论】:
-
您正在尝试对数据进行透视,并对其进行动态透视。 SQL 结果集具有固定数量的列,因此要获得可变数量的列,您必须将查询构造为字符串。您最好在 Excel 中执行此操作。
标签: sql datetime sql-server-2005