declare @t table (rowid int, name varchar(100), sb int, dt date);
insert into @t values
(1, 'Dan', 2, '20180823'),
(2, 'Mirco', 1, '20180825'),
(3, 'Shuli', 3, '20180514'),
(4, 'Regina', 1, '20180119');
with nums as
(
select n
from (values(1), (2), (3), (4)) v(n)
)
select t.*
from @t t
cross apply (select top (t.sb) *
from nums) a;
Используйте таблицу чисел вместо CTE
nums или добавьте туда столько значений, сколько вы можете найти в столбце «Купленные акции».