2016-03-15 16 views
-1

我很感谢您在这里为我的学习做出贡献。 我目前在数据库课程中有一定的知识。我真正的问题是理解这个问题。我有一张名为借款人的表格,里面有详细信息。借款人(借款人,借款人名称,借款人地址)。我还有另一个名为BookLoan的表(copyNo,dateOut,dateDue,borrowerNo)。借款人不是外键。 问题是要求提供一份报告,详细记录逾期借书的借款人。 我很困惑,因为我们没有在表中显示这样的信息?生成一份报告,其中包含逾期借阅书籍的借款人的详细信息

回答

0

是不是在字段dateDue的关键?如果这比当前时间低,那么这本书已经过期了。

因此,它在borrowerNo项上借用一个WHERE子句来过滤dueDate列的Borrower和Bookloan之间的连接。

不想通过回答您的问题来破坏您的学习,只需指向正确的方向即可。如果您仍然卡住,请发回。

问候,

詹姆斯

+0

你说的没有意义。我如何使用dateDue?我必须找到有过期日的借款人?这意味着超出dueDate。对吧 –

+0

不,这意味着现在的时间已经超过了日期。如果我有一本应该在5日(日期)和今天是第4(现在)的书,那么因为NOW小于日期,所以书不会过期。或者,如果该书5日(dateDue)到期,而今天是第6(NOW),则由于dateDue低于NOW,该书已逾期。 –

0

在你的表结构,你不能确定哪些是过期的。

因为没有字段可以识别书籍是否被退回。

借款 - 是借款人
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 
+0

假设条目在返回时从BookLoan表中消失 –

相关问题