• maybe food for thought....

    the random data is a bit simplistic...but relatively large.

    not sure if this meets your requirements.

    /*set up some simple test data*/

    use tempdb

    go

    If exists(select * from information_schema.TABLES where TABLE_NAME = 'Target') drop table Target

    If exists(select * from information_schema.TABLES where TABLE_NAME = 'Use_value') drop table Use_value

    SELECT TOP 1000000

    Something = '1' + CAST(Abs(Checksum(Newid()) % 90000000 ) AS varchar(50)),

    SomethingElse =cast ( '0' AS varchar(50))

    INTO Target

    FROM sys.all_columns ac1

    CROSS JOIN sys.all_columns ac2

    CROSS JOIN sys.all_columns ac3

    /*set 'somethingelse' to eqaul 'something' for testing*/

    UPDATE Target

    SET SomethingElse = Something

    SELECT TOP 10000

    number = IDENTITY(INT, 1, 1),

    col1 = CHAR(Abs(Checksum(Newid())) % 26 + 65) + CHAR(Abs(Checksum(Newid())) % 26 + 65) + CHAR(Abs(Checksum(Newid())) % 26 + 65) + CHAR(Abs(Checksum(Newid())) % 26 + 65) + CHAR(Abs(Checksum(Newid())) % 26 + 65),

    col2 = 1 + CAST(Abs(Checksum(Newid()) % 9 + 1) AS INT)

    INTO Use_value

    FROM sys.all_columns ac1

    CROSS JOIN sys.all_columns ac2

    CROSS JOIN sys.all_columns ac3

    ALTER TABLE [dbo].[Use_value] ADD CONSTRAINT [PK_Use_value] PRIMARY KEY CLUSTERED ([number] ASC)

    --SELECT TOP (100) Something,

    --SomethingElse

    --FROM Target

    --SELECT TOP (100) number,

    --col1,

    --col2

    --FROM Use_value

    /*possible solution*/

    SELECT TOP (100) Something,

    SomethingElse

    FROM Target

    order by Something

    /*create new table with random selection*/

    If exists(select * from information_schema.TABLES where TABLE_NAME = 'T1') drop table T1

    DECLARE @cnt AS INT

    SELECT @cnt = count(*) FROM use_value

    SELECT *,

    randCol = (1 + CAST(Abs(Checksum(Newid()) % @cnt) AS INT))

    INTO T1

    FROM Target

    DROP TABLE Target

    SELECT T1.Something,

    Use_value.col1 AS SomethingElse

    INTO Target

    FROM T1

    INNER JOIN Use_value ON T1.randCol = Use_value.number

    SELECT TOP (100) Something,

    SomethingElse

    FROM Target

    order by Something

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day