t-sql を使用して 2 つのテーブルをクエリする必要があります。最初のテーブルは Books です。2 番目のテーブルは Authors です。Book レコードごとに、複数の子 Author レコードが存在する可能性があります。現在の Book レコードで見つかった最初の Author レコードのみを返すクエリを作成したいと考えています。テーブルには何十万ものレコードがあるため、クエリを効率的にする必要があります。
select a.FirstName, a.LastName, b.BookName
from Books b
left join
(
select TOP 1 t.BookID, t.FirstName, t.LastName
from Authors t
) a
on a.BookID = b.BookID
where b.BookClassification = 2
このクエリは正しくありません。BookID に一致する Authors の上位 1 レコードのみを選択したい。探している結果を得るにはどうすればよいですか?