为标题道歉,我不知道如何表达它。
我目前有两个表" ASSETS“和" LOANS”ASSETS包含一个简单的设备列表它有一个字段"AssetID“,它与贷款中的一个字段"LoanAssetID”有一对多的关系
每件设备都可以有许多贷款。它可以借给一个人,然后归还,然后借给另一个人。在"LOANS“中有一个名为"ReturnDate”的字段,人们在该字段中记录归还设备的日期。还有一个名为"StartDate“的字段。
如果最近的记录(具有最近开始日期的记录)没有归还日期,则可以说一件设备当前处于“借出”状态。
然而,我在我的查询写作中不够清楚,无法完成这一点。我需要找到任何资产的最新记录,可能有多个返还日期,但这些日期可能并不总是与最近的贷款相对应。
理想情况下,我希望这样计算一个字段,将设备标记为“借出”、“可用”等。
提前感谢您的帮助
到目前为止,我已经尝试了一个Max查询,但是,可能是因为我误解了查询,我搞不懂为什么它会返回多个结果。
所以,目前我已经尝试了
SELECT Max(tbl_Loans.[Start Date]) AS [MaxOfStart Date],tbl_Loans [Return Date], tbl_Loans.LoanAssetID
FROM tbl_Loans
GROUP BY tbl_Loans.[Return Date], tbl_Loans.LoanAssetID
HAVING (((tbl_Loans.[Return Date]) Is Null));但是,我想要的是任何给定LoanAssetID的最新值;对于存在多个结果的每个给定LoanAssetID,我得到的是多个字段。
谢谢你的帮助
发布于 2017-01-04 23:46:02
查询是按返回日期分组的,我不认为您需要这样的查询。尝试:
SELECT Max(tbl_Loans.[Start Date]) AS [MaxOfStart Date],tbl_Loans.[Return Date], tbl_Loans.LoanAssetID
FROM tbl_Loans
GROUP BY tbl_Loans.LoanAssetID
HAVING tbl_Loans.[Return Date] Is Null;或者,如果您的系统足够强大,可以假设任何null返还日期将与最近的贷款相对应,因为尚未返还的资产不能借给不同的个人,您可以在表中搜索Null返还日期:
SELECT tbl_Loans.LoanAssetID
FROM tbl_Loans
GROUP BY tbl_Loans.LoanAssetID
HAVING tbl_Loans.[Return Date] Is Nullhttps://stackoverflow.com/questions/41448354
复制相似问题