【发布时间】:2023-03-17 16:11:01
【问题描述】:
我应该编写一个 SQL 查询,该查询将选择所有当前已借出且已过期且应归还的图书,这些图书的价值大于来自图书馆系统的 $10.00。我应该返回借款人的姓名、地址、邮政编码和电话号码、负责交易的图书管理员的姓名和电话号码、图书归还日期以及姓名、费用和 ISBN 号的书。我的查询应该按返回日期降序排列。
这是我写的
Select a.returndate as booklended ,a.isbn_number as booklended, b. as borrower,
b.address as borrower, b.postalcode as borrower, b. phonenumber as
borrower, c.name as librarian, c.phonenumber as librarian
from booklended.a, librarian.c, borrower.b
where a. librarian id= c.librarianid
and a.librarycard = b.librarycard
and returndate < curdate()
and cost > 10.00
order by a. returndate desc;
但是我收到了这个错误 5:无效的模式名称:BOOKLENDED in statement [Select a.returndate as booklended ,a.isbn_number as booklended, b.作为借款人,b.address 作为借款人,b.postalcode 作为借款人,b. phonenumber 作为借用者,c.name 作为图书管理员,c.phonenumber 作为图书管理员
来自 booklended.a]
能否请我获得有关如何纠正此问题的指南。谢谢
【问题讨论】:
-
错误提示“您没有名为 booklended 的数据库”。
-
a、b 和 c 是表的别名。根据您的数据库管理器,可以通过编写“booklended a”(无句点)或“booklended as a”来创建别名。看起来您的问题源于表名中使用句点。 'where' 语句看起来也有问题。
-
另外,不要使用隐式(逗号)连接语法。改为使用显式 JOIN 语法。