连接三个表。两个相关,一个与其他两个无关

时间:2019-04-27 23:03:24

标签: sql sql-server join view

我想创建一个名为ShowAllBooksBorrowed的视图,该视图显示从图书馆借来但未归还的所有书籍的信息(BookName,ISBN,BookCategoryName,BookAuthor,BorrowedDate,ReturnDate,ActualReturnDate)。

我很难弄清楚如何使用Books表中的信息将BorrowerInfo表与BookInfo和BookCategory表相关。我了解它的关系,但不确定如何执行。我想我可能需要使用Union或CrossJoin?

这是我的数据库: Library Database

1 个答案:

答案 0 :(得分:2)

您可以创建如下所示的视图:

create view show_all_books_borrowed as 
select
  k.bookname,
  b.isbn,
  c.bookcategoryname,
  k.bookauthor, 
  w.borrowdate, 
  w.returndate, 
  w.actualreturndate
from books b
join borrowerinfo w on w.bookid = b.bookid
join bookinfo k on k.isbn = b.isbn
join bookcategory c on k.bookcategoryid = c.bookcategoryid
where w.actualreturndate is null