2つのテーブルを照会するのにt-sqlを使う必要があります。最初の表はBooksです。 2番目の表は著者です。各ブックレコードには複数の子著者レコードが存在する可能性があります。私は、現在のブックレコードで見つかった最初の著者レコードのみを返すクエリを書きたいと思います。テーブルには何十万ものレコードがあるので、効率的なクエリが必要です。クエリの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
同じBookID – user31673
を持っている限り、選択された著者に使用される基準はありません。あなたのauthorsテーブルにauthorIDフィールドがありますか? – Taryn