生成一份报告,其中包含当前有逾期图书的借款人的详细信息
Posted
技术标签:
【中文标题】生成一份报告,其中包含当前有逾期图书的借款人的详细信息【英文标题】:Produce a report with the details of borrowers who currently have books overdue 【发布时间】:2016-03-15 09:35:10 【问题描述】:我很感激你在这里为我的学习做出贡献。 我目前在数据库课程中有一个分配。我真正的问题是理解这个问题。我有一个名为 Borrower 的表,其中包含详细信息。Borrower (borrowerNo,borrowerName,borrowerAddress)。此外,我还有另一个名为 BookLoan 的表(copyNo、dateOut、dateDue、borrowerNo)。 borrowerNo 是外键。 问题是要求生成一份报告,其中包含书籍逾期的借款人的详细信息。 我很困惑,因为我们没有在表格中显示此类信息?
【问题讨论】:
【参考方案1】:键不在 dateDue 字段中吗?如果该时间低于当前时间,则该书已过期。
因此,它是 Borrower 和 Bookloan 之间的连接,在 borrowerNo 键上使用 WHERE 子句过滤到期日期列。
不想因为为您回答问题而破坏您的学习,只需指出正确的方向即可。如果您仍然卡住,请回复。
问候,
詹姆斯
【讨论】:
你说的没有道理。如何使用 dateDue?我必须找到过期的借款人?这意味着超出了到期日期。对 不,这意味着现在的时间超过了 dateDue。如果我有一本书在 5 号(dateDue)到期,而今天是 4 号(NOW),那么由于 NOW 小于 dateDue,所以这本书没有过期。或者,如果这本书在 5 号 (dateDue) 到期,而今天是 6 号 (NOW),那么由于 dateDue 低于 NOW,这本书就过期了。【参考方案2】:在您的表结构中,您无法确定哪些是过期的。
因为没有字段可以识别书籍是否被退回。
Borrower - 是借款人名单BookLoan - 是从日期 (dateOut) 起借书的借款人名单,并且图书的预期回报(dateDue)。
如果书籍在 dateDue 之后归还,则它已过期 - 因此您无法仅通过查看 @ 字段 dateDue 来确定过期书籍。您需要将其与 dateReturn 进行比较 - 您的结构中不存在它。
//BookLoan (copyNo,dateOut,dateDue,borrowerNo,dateReturn)
//dateReturn will be the tagging if the borrowed books by borrowerNo has returned the books borrowed.
//by then you can determined which books are overdue if
1. dateDue is already reached (passed by parameter) and the dateReturn is blank or empty
2. dateReturn is greater than dateDue
【讨论】:
假设返回时条目从 BookLoan 表中消失以上是关于生成一份报告,其中包含当前有逾期图书的借款人的详细信息的主要内容,如果未能解决你的问题,请参考以下文章