复制declare @Category table ( id int identity(1,询最小值1) not null, CategoryId int, CategoryName varchar(50) ) declare @MostExpensive table ( ProductName varchar(50) ) declare @counter int,@number int set @counter=0 insert @Category select CategoryId,CategoryName from Categories select @number=count(*) from @Category while @counter<@number begin set @counter=@counter+1 insert @MostExpensive select top 3 ProductName from products where categoryid=(select CategoryId from @Category where id=@counter) order by UnitPrice desc end select * from @MostExpensive 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.