【发布时间】:2010-11-27 17:12:43
【问题描述】:
我有一个存储过程,它返回一个游标。
应用程序将一个参数传递给确定应该获取多少 ID 的过程,因此该过程不知道该数字的时间头。
foreach ID 我需要获取具有该 ID 的前 3 条记录。 我尝试过的是使用:
select * from table_name where id in (List of ID`s);
该查询有效,但我无法获得每个 ID 的前 3 个。如果我限制结果数,我会得到第一个ID的TOP结果。
我认为使用 For 循环,对每个 ID 执行查询并将结果附加到光标,但据我了解这是不可能的。
有什么想法吗?
更多详情
假设我有 5 个 IDs and each of them have inner Ids 所以
Id 1 有 (1,2,3,4,5) Id 2 (1,2,3,4,5) Id 3 (12,14,15,16,22) Id 4 (2,3,5,7 ,9) ID 5 (4,7,8,9,10)
在这种情况下,这就是我正在处理的情况,我看不出行号将如何帮助我。
我需要每个 ID 的前 3 个,在这种情况下,光标应该有 15 个结果。
10 倍,周末愉快 ;)
【问题讨论】: