【发布时间】:2012-03-19 14:02:49
【问题描述】:
我有以下表格:
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
)
我想写一个类似的查询
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
除了我只想要TableB.Value 的每个TableA_Id 中的前10 个(按TableB.Value 升序排列)。
我只想要每个TableA.Name 的前10 个值,而不是返回每个TableB.Value 的每个TableB.Value。
这样的查询是什么?
【问题讨论】:
标签: sql sql-server-2008 sql-server-2008-r2 one-to-many many-to-one