我有一个数据库,每个事务使用一个唯一的ID。交易ID是一年的最后两位数字,后跟四位数的序号(例如0100至9999)。这个数字在每年年初重新回到0100。并非每年都使用所有数字。例如,2012年的最后一笔交易是12-0409,2011年是11-0500。这些数字当前不在数据库中生成,而是手动创建的。我正在让他们切换到使用自动化,但与此同时我必须创建补丁来修复错误。
在数据库中,我有一个表和一个查询。查询([商品检查])列出交易ID([HL#])并且仅显示两种格式的最后四种,一种作为数字格式([NumList]),一种作为文本格式([TextList])。该表是一个基本表,列出了0100和9999之间的所有数字。我正在尝试创建一个查询,允许我识别哪些交易ID丢失,即我有13-0250和13-0252而不是13-0251。我可以创建标识缺少哪些数字的查询,但是它还列出了最新交易ID之后的所有数字。如何将查询限制为当前最大事务ID#?
这是我到目前为止所做的。
SELECT YearlyOfferIds.YOID
FROM
YearlyOfferIds
LEFT JOIN [Offer Check]
ON YearlyOfferIds.[YOID] = [Offer Check].[TextList]
WHERE ((([Offer Check].TextList) Is Null));
我正在尝试添加或做同样事情的事情。
SELECT Max([Offer Check].NumList) AS MaxOfNumList
FROM [Offer Check];
答案 0 :(得分:2)
您的第二个查询SELECT Max(...
可以翻译成DMax
表达式。
DMax("NumList", "Offer Check")
我的预感是您可以在第一个查询的DMax
子句中使用WHERE
来限制从YearlyOfferIds
返回的行。很遗憾,我不知道您要与最大YearlyOfferIds
进行比较的[Offer Check].NumList
字段的名称。所以我只是将该字段称为 some_field 。
WHERE
YearlyOfferIds.some_field <= DMax("NumList", "Offer Check")
AND [Offer Check].TextList Is Null