2013-04-21 50 views
1

对不起再次困扰你们,我一直在寻找任何其他解决方案,但我找到了一个或可能是匆忙。我有一个名为“Employee”的表,其中包含comlumns 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; 

有人能告诉我如何在我的程序中使用创建的pivottable吗?像查询?

ty

回答

1

执行Access Pivot搜索。这将做你需要的。

+0

感谢您的回复。我认为枢轴只能在sql中工作...就像你说的,我在访问中快速寻找枢轴...是的。有样品和解释。可能是我会在修复我的客户笔记本电脑后再做一些研究。我..我会稍后更新这个问题。 – 2013-04-22 01:55:15

+0

我更新了我的帖子,请检查我的问题。 ty – 2013-04-22 17:54:24

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") 
+0

ty for the reply ...在此期间,我试图用数据透视表重新创建数据库。 – 2013-04-22 13:40:32