回答

收藏

仅显示访问查询中的最后重复项

技术问答 技术问答 202 人阅读 | 0 人回复 | 2023-09-12

我有一个可访问的数据库,可在其中记录借出的地图。因此,我有一个名为MapsOut的表,其中包含字段MapNum(地图ID),MapName(地图名称),CheckOut(将地图借出的日期),CheckIn(将地图返回的日期)。- b; K: d0 K) j* }: f
MapNum MapName CheckOut CheckIn, d- z. F. i  e; w
1      London  01/02/13 07/05/13( g  D% t3 I. {* f1 Y3 W, U& A
1      London  08/05/13 16/06/13
/ z$ f% T  ^8 R7 e/ O; F% J1      London  19/07/13 2 b7 e( r! b8 I# \+ c4 {
2      Hull    30/01/13 05/03/13
( V7 T( G* K+ Q) n3 v- g+ M2      Hull    06/04/13 01/05/13
1 h, e3 Z3 E8 e$ b9 u4 h3      Derby   11/01/13 17/02/13' T! \7 b$ I9 |  X0 K
3      Derby   05/09/13 06/10/13
/ W1 i2 _4 V& R& \0 p4      Hove    01/02/13 01/03/13
  W. ^7 v6 z( K* G我想编写一个查询,该查询只给我每个MapNum的最后一条记录,而只显示那些已签入的记录,因此我知道哪个是最近的,并且以最近到最长的时间顺序排列。/ V4 q1 c+ Z. k& p6 U5 Z" Y
CheckOut列。因此结果应如下所示:
4 z" i& x5 D% k$ t3 |" I; ]" }' z* `; HMapNum MapName CheckOut CheckIn
+ Y4 l' f. N4 ^7 _4      Hove    01/02/13 01/03/13- B3 t  {! N+ {7 d
2      Hull    06/04/13 01/05/13) M" ]8 w) Q# t5 G1 P4 b
3      Derby   05/09/13 06/10/13
/ I/ W$ b; }5 j+ _6 y! ~我进行了查询,但是无法显示Select DISTINCT,因为它仍然显示重复项。
/ d1 k0 b# Q  T2 I& Y. d这是行不通的:
9 T+ @3 A- r! x8 _$ j% [& jSELECT DISTINCT Maps.MapNum AS MapNum, Maps.MapName, Max(MapsOut1.CheckOut) AS CheckOut, MapRecords.CheckIn
! F* d9 D; s  A- B6 R( L  RFROM (MapRecords INNER JOIN Maps ON MapRecords.MapNum = Maps.MapNum) INNER JOIN (MapsOut INNER JOIN MapsOut1 ON MapsOut.ID = MapsOut1.ID) ON Maps.MapNum = MapsOut.MapNum
5 q' A2 f5 Q2 w' W: i( g( FGROUP BY Maps.MapNum, Maps.MapName, MapRecords.CheckIn( g+ u" w- _, ?4 _6 w- o* F& J( g
HAVING (((MapRecords.CheckIn) Is Not Null))
, l0 q1 v% V  {* |ORDER BY Maps.MapNum;; Q5 L9 |& o- ]8 U! D  ]( r
任何帮助将不胜感激。
6 i! T2 ^/ ~* {1 x- i提前致谢) ?; J* }- {. d% G/ r
                + w- G" L1 D$ C. i$ m5 v
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则