我需要使用t-sql來查詢兩個表。第一張桌子是Books。第二張表是作者。對於每本書籍記錄,可能有多個子作者記錄。我想編寫一個查詢,該查詢僅返回爲當前Book記錄找到的第一個作者記錄。表中有成千上萬的記錄,所以我需要查詢的效率。如何爲查詢編寫T-SQL代碼
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匹配的作者中最高的1條記錄。我怎樣才能得到我期待的結果?
'TOP 1'按什麼標準?隨機?按字母順序排列? – JNK 2012-04-10 18:13:41
只要具有相同的BookID,就不需要使用任何作者標準 – user31673 2012-04-10 18:15:04
您的authors表中是否有authorID字段? – Taryn 2012-04-10 18:16:50