创建具有多对多关系的存储过程,以提供适当的响应



我正在尝试为我的学校项目创建一个使用模型优先的存储过程。我想制作一个 SP 来返回订单最多的游戏的 av 列表,可以说是"顶级列表",但在搜索类似的线程后无法弄清楚。参数 @antal 应返回要返回的不同结果的范围。因此,假设我发送 5 个它应该返回 5 个产品,3 个应该返回 3 个产品,依此类推......

由于我是新手,所以我被困住了。到目前为止的代码是:

use SpelAffarenDatabas
go
create procedure [dbo].[GetTopListGames]
(
@antal int
)
as
select distinct top (6) p.Id, p.Name, p.Orders, k.Name, g.Name from ProduktSet as p
left join ConsoleProduct as kp
on p.Id = kp.Product_Id
left join ConsoleSet as k
on kp.Console_Id = k.Id
left join ProductGenre as pg
on p.Id = pg.Product_Id
left join GenreSet as g
on pg.Genre_Id = g.Id
group by p.Id, p.Name, p.Orders, k.Name, g.Name

那么,我如何获得适当的回应,给我一个适当的回应,我想这将是不同的实体?

select distinct top (@antal) p.Id, p.Name, p.Orders, k.Name, g.Name from ProduktSet as p
left join ConsoleProduct as kp
on p.Id = kp.Product_Id
left join ConsoleSet as k
on kp.Console_Id = k.Id
left join ProductGenre as pg
on p.Id = pg.Product_Id
left join GenreSet as g
on pg.Genre_Id = g.Id
group by p.Id, p.Name, p.Orders, k.Name, g.Name
order by p.Orders Desc

最新更新