如何在MS Access中从记录计数双倍中选择查询

问题描述 投票:0回答:1

我正在尝试根据 MS Access 中的 ID 和日期从记录计数双倍中选择查询。

我想将其保留为单个查询。

这个应用的可能性有哪些?或者其他方法

请指导我

谢谢

桌子

Absen

身份证 日期 时间 输入输出
5008 24 年 4 月 28 日 08:00
5008 24 年 4 月 28 日 17:00
5009 24 年 4 月 29 日 08:00
5009 24 年 4 月 29 日 17:00
5010 24 年 4 月 29 日 08:00

桌子

MASTERID

身份证 名称ID 位置ID
5008 A 工作人员
5009 B 工作人员
5010 C 工作人员

我使用了下面的sql代码,但没有产生任何结果

SELECT ABSEN.ID, MASTERID.NAMEID AS NAMEID, ABSEN.DATE, MASTERID.POSITIONID AS POSITIONID, ABSEN.TIME, ABSEN.INOUT, Count(*) AS Expr1
FROM ABSEN INNER JOIN MASTERID ON ABSEN.ID = MASTERID.ID
GROUP BY ABSEN.ID, MASTERID.NAMEID, ABSEN.DATE, MASTERID.POSITIONID, ABSEN.TIME, ABSEN.INOUT,ABSEN.DATE
HAVING (((Count(*))>1));

所需输出

身份证 名称ID 日期 时间 输入输出
5008 A 24 年 4 月 28 日 08:00
5008 A 24 年 4 月 28 日 17:00
5009 B 24 年 4 月 29 日 08:00
5009 B 24 年 4 月 29 日 17:00
sql ms-access group-by having
1个回答
0
投票

你想要一个单一的查询是多么棘手......注意你的要求,因为这是不可能做到的(没有子查询)。

顺便说一句,我猜你想要 INOUT 有 OUT 的 ID。然后按 ID 和 TIME 排序。

select a.ID ,a.NAMEID   ,a.DATE ,a.TIME ,a.INOUT
from ABSEN a INNER JOIN MASTERID ON ABSEN.ID = MASTERID.ID
where exists(select 1 from ABSEN a2 where a.ID=a2.ID and  a2.INOUT='OUT')
order by ID, TIME
© www.soinside.com 2019 - 2024. All rights reserved.