2
子テーブルのために結果の多対1の関係制限数に参加:私はそれを除いてインナー選びは、私は以下の表持つ
select TableA.Name, TableB.Value
from TableA
inner join TableB on TableA.Id = TableB.TableA_Id
where TableA.Name like 'a%'
order by TableB.Value asc
に似たクエリを記述したいと思い
create table TableA (
Id int primary key identity,
Name varchar(80) not null
)
create table TableB (
Id int primary key identity,
TableA_Id int not null foreign key references TableA(Id),
Value varchar(80) not null
)
をそれぞれTableA_Id
の中の上位10をTableB.Value
(TableB.Value
の昇順)にします。
TableA.Name
のすべてのTableB.Value
を返す代わりに、それぞれTableA.Name
の上位10個の値のみを入力します。
このようなクエリは何ですか?
+1 - これは 'CROSS APPLY'の使用例の完璧な例です。 – Lamak
@Lamak - 最近gbn&martinから拾ったことがあります。 –