因此,我有表Book(主键bookid,辅助键-Publisherid,authorid和stockid)以及表Publisher,Author和Stock,它们各自的主键是ID。我需要创建视图infopressstock,该视图将仅显示具有出版商名称Infopress的库存书籍。我也有以下观点:库存书本有两列,一栏为书名,另一栏为库存书数,而BPA则有三栏,分别是书本,出版商和作者。但是,我不知道如何实现此功能才能正常工作,现在有了该解决方案,它可以显示Infopress图书的数量为0。
CREATE VIEW infopressstock AS
SELECT COUNT(instock) AS "stock total"
FROM Book INNER JOIN Stock ON Book.BookID = Stock.BookID
INNER JOIN Publisher ON Book.PublisherID = Publisher.PublisherID
WHERE publisher.name = 'Infopress';
答案 0 :(得分:0)
我也在做这个练习。
通过使用BPA和BooksInStock视图,创建一个新视图,该视图显示Info Press发布的当前库存的图书总数。将视图命名为InfoPressStock。再次,请参见下面的视图结果表:result属性被命名为“ stock total”。
不是最好的答案,但是可以解决:
CREATE VIEW InfoPressStock AS
SELECT sum(instock) AS "stock total"
FROM stock
INNER JOIN book ON stock.bookid = book.bookid
WHERE book.bookid = 103 OR book.bookid = 111 OR book.bookid = 105