• Based on my understanding of your requirements:

    declare @t table (

    RegionName varchar(10) not null primary key clustered,

    [Min] int not null,

    [Max] int not null,

    [NumberToGenerate] int not null

    )

    insert into @t

    select 'Region 1', 0, 5000, 15union all

    select 'Region 2', 1700, 2300, 25union all

    select 'Region 3', 13, 55, 14

    declare @maxNumberToGenerate int

    select @maxNumberToGenerate = max(NumberToGenerate) from @t

    declare @num table (number int not null primary key clustered)

    insert into @num

    select number

    from

    -- Number table function F_TABLE_NUMBER_RANGE available here

    -- http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=47685

    dbo.F_TABLE_NUMBER_RANGE(1,@maxNumberToGenerate)

    order by

    number

    select

    b.RegionName,

    a.number,

    -- Generate random number in range of Min to Max

    RandNo =

    (convert(bigint,convert(varbinary(7),newid()))%([max]-[Min]+1))+[Min]

    from

    @num a

    join

    @t b

    on a.number <= NumberToGenerate

    order by

    b.RegionName,

    a.number

    Results:

    RegionName number RandNo

    ---------- ----------- --------------------

    Region 1 1 4725

    Region 1 2 2763

    Region 1 3 1661

    Region 1 4 794

    Region 1 5 3244

    Region 1 6 1766

    Region 1 7 3613

    Region 1 8 4361

    Region 1 9 585

    Region 1 10 447

    Region 1 11 4242

    Region 1 12 336

    Region 1 13 230

    Region 1 14 1029

    Region 1 15 1149

    Region 2 1 1710

    Region 2 2 1744

    Region 2 3 1762

    Region 2 4 1953

    Region 2 5 1996

    Region 2 6 1909

    Region 2 7 1993

    Region 2 8 1864

    Region 2 9 2218

    Region 2 10 2044

    Region 2 11 1890

    Region 2 12 2004

    Region 2 13 1723

    Region 2 14 1944

    Region 2 15 2132

    Region 2 16 1769

    Region 2 17 1848

    Region 2 18 1878

    Region 2 19 2193

    Region 2 20 1858

    Region 2 21 2293

    Region 2 22 2124

    Region 2 23 1787

    Region 2 24 1714

    Region 2 25 1844

    Region 3 1 41

    Region 3 2 48

    Region 3 3 26

    Region 3 4 18

    Region 3 5 18

    Region 3 6 52

    Region 3 7 41

    Region 3 8 33

    Region 3 9 25

    Region 3 10 22

    Region 3 11 19

    Region 3 12 33

    Region 3 13 19

    Region 3 14 52

    (54 row(s) affected)