1

很抱歉再次打扰你们,我正在寻找任何其他解决方案来解决我的问题,但我找不到一个或者我很着急。我有一个名为“Employee”的表,其中包含 id、name、login 和 logout。

像这样

EmpID NAME  Login               Logout
0   t1     2013-04-11 01:00:00  2013-04-11 01:01:00
1   t2     2013-04-11 01:00:00  2013-04-11 01:01:00
2   t3     2013-04-11 01:00:00  2013-04-11 01:01:00
0   t1     2013-04-13 01:00:00  2013-04-13 01:01:00
1   t2     2013-04-14 01:00:00  2013-04-14 01:01:00
1   t2     2013-04-15 01:00:00  2013-04-15 01:01:00
2   t3     2013-04-15 01:00:00  2013-04-15 01:01:00

但我想像这样显示数据

EmpID NAME    11            13          14                15
0   t1      60              60  
1   t2      60                           60               60
2   t3      60                                            60

已编辑:已使用此查询表代码示例在 MSaccess 中的数据透视表上创建了目标显示:

SELECT Employee.EmpID, Employee.EName, Sum(DateDiff("s",Punches.LogIN,Punches.LogOUT)) AS THours, day(Punches.LogIN) AS days
FROM Employee LEFT JOIN Punches ON Employee.EmpID = Punches.EmpID
GROUP BY Employee.EmpID, Employee.EName, day(Punches.LogIN)
ORDER BY Employee.EmpID;

有人可以告诉我如何在我的程序中使用创建的数据透视表吗?喜欢查询?

4

2 回答 2

1

搜索 Access Pivot。这将满足您的需求。

于 2013-04-21T19:21:59.417 回答
0

您可以使用 MS Access TRANSFORM/PIVOT 来获得结果。基本语法将是:

TRANSFORM max(datediff("n", login, logout))
SELECT id, name
FROM yourtable
GROUP BY id, name
PIVOT format(login, "mm/dd/yyyy")
于 2013-04-22T02:43:09.180 回答