使用查询在几天内显示

时间:2013-04-21 18:40:36

标签: sql ms-access-2007

很抱歉再次困扰你们,我正在为我的问题寻找任何其他解决方案,但我找不到或者很匆忙。我有一个名为“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中的pivottable上创建目标显示:

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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")