3

下午好!我最近遇到了一个问题,希望能在您的帮助下得到解决。我们的系统 [遗憾地] 在 Access (2007) 上运行。我在 SQL 方面有不错的经验,并选择将这种方法用于大多数查询而不是设计视图。但是,这是我最近遇到的问题:

一个表(当然有自己的主键)包含 ParticipantID 和 Records。由于在不同位置有事件,此表可能包含每个人的多条记录。有了这些信息,我们可以跟踪每条记录是否已经在我们的系统中,因为位置属于我们的大“伞”(内部)。为了让它看起来简单,它看起来像这样,忽略主键,因为我们只关心参与者 ID。

参与者 ID 内部
1 -1
1 -1
2 0
3 -1
3 -1
3 0
4 -1
4 0

我想能够说如果参与者的任何记录不是内部的(例如 = 0),那么在此查询的结果中,将其存储为 0。因此,结果表看起来像:

参与者 ID 内部
1 -1
2 0
3 0
4 0

这有意义吗?先感谢您!

4

2 回答 2

2

您可以使用最大:

SELECT internal.ParticipantID, Max(internal.Internal) AS MaxOfInternal
FROM internal
GROUP BY internal.ParticipantID;

我使用查询设计窗口构建了上述内容。

于 2012-10-31T19:49:35.010 回答
0

如果值 Internal 只能是 0 和 -1,则以下可能会有所帮助

Select ParticipantID,max(internal) from thetable
Group by ParticipantID
于 2012-10-31T19:54:13.140 回答