Something like this is possible
select ac1.ID, r.color from (SELECT TOP (100) -- changed because it didn't work in mssql 2012 --ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) as ID, ROW_NUMBER() OVER (ORDER BY newid()) as ID, ROW_NUMBER() OVER (ORDER BY newid()) as dummy FROM sys.all_columns order by id ) ac1 cross apply (SELECT top 1 color FROM ( VALUES (0,'Red'),(1,'Green'),(2,'Yellow') ) colors(id,color) where id = dummy % 3 ) r
source share