redsky,
Для SQL2k5(8)
declare @t table( [предмет] nvarchar(50), [показатель] int, [количество] int )
insert into @t
select 'ложка', 456 , 3 union all
select 'чашка', 384, 2 union all
select 'тарелка', 295, 4
;with L0 as (select 0 as N union all select 0),
L1 as (select 0 as N from L0 as t1 cross join L0 as t2),
L2 as (select 0 as N from L1 as t1 cross join L1 as t2),
L3 as (select 0 as N from L2 as t1 cross join L2 as t2),
L4 as (select 0 as N from L3 as t1 cross join L3 as t2),
L5 as (select row_number() over(order by t1.N) as [N] from L4 as t1 cross join L4 as t2)
select t.[предмет], t.[показатель]--,C.N as [номер по порядку]
from @t as t
cross apply(
select top(t.[количество]) N
from L5
) as c