попробуйте это:
DECLARE @Authors table (author_ID INT NOT NULL, author_name VARCHAR(100) NOT NULL, author_bio VARCHAR(100) NOT NULL)
INSERT INTO @Authors VALUES (1, 'Author1', 'Bio1')
INSERT INTO @Authors VALUES (2, 'Author2', 'Bio2')
INSERT INTO @Authors VALUES (3, 'Author3', 'Bio3')
DECLARE @Books table (book_ID INT NOT NULL, author_ID INT NOT NULL, book_title VARCHAR(100) NOT NULL, featured_book INT NOT NULL)
INSERT INTO @Books VALUES (1, 2, 'Book1', 0)
INSERT INTO @Books VALUES (2, 2, 'Book2', 1)
INSERT INTO @Books VALUES (3, 3, 'Book3', 0)
INSERT INTO @Books VALUES (4, 3, 'Book4', 0)
SELECT
dt.author_ID, dt.author_name,dt.author_bio,dt.book_title
FROM (
SELECT
a.*,b.book_title,ROW_NUMBER() OVER (PARTITION by a.author_ID ORDER BY b.featured_book DESC,b.book_title) RowNumber
FROM Authors a
LEFT OUTER JOIN Books b ON a.author_id = b.author_id
) dt
WHERE dt.RowNumber= 1
ВЫВОД:
author_ID author_name author_bio book_title
----------- ------------ ----------- ----------
1 Author1 Bio1 NULL
2 Author2 Bio2 Book2
3 Author3 Bio3 Book3
(3 row(s) affected)