簡體   English   中英

按最新出版的書返回作者+沒有出版的書返回作者

[英]Return Authors by latest published book + Authors with no published books

我有兩個表:

•表1: Books
•表2: Authors

我有以下查詢:(此查詢返回具有書名和出版日期的所有作者)

SELECT Authors.AuthorName, Books.BookTitle, Books.DatePublished, Books.Author
FROM Authors LEFT OUTER JOIN Books ON Authors.AuthorID = Books.Author

問題:!!

我想歸還所有作者(既有出版過的書籍,也有沒有出版過的書籍。

條件(擁有書籍的作者。僅返回最新出版的書籍)

我可以通過以下查詢獲取最新出版的書:

SELECT a.*    
FROM [Books] a left outer join Books b on a.Author = b.author and 
a.DatePublished < b.DatePublished where b.ISDN  is null

問題:如何合並這兩個查詢,以返回所有作者+最新出版的書的作者?

請試試:

SELECT DISTINCT
    AuthorName, 
    BookTitle, 
    DatePublished, 
    Author 
FROM(
    SELECT 
        Authors.AuthorName, 
        Books.BookTitle, 
        Books.DatePublished, 
        Books.Author, 
        ROW_NUMBER() over (partition by Authors.AuthorID order by DatePublished desc) Rnum
    FROM Authors LEFT OUTER JOIN Books ON Authors.AuthorID = Books.Author
)x WHERE Rnum=1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM