(SELECT TOP 4 * FROM dbo_problems WHERE sty1=0 and sty2=1 ORDER BY rnd(problemid))
union
(SELECT TOP 4 * FROM dbo_problems WHERE sty1=0 and sty2=2 ORDER BY rnd(problemid))
union
(SELECT TOP 4 * FROM dbo_problems WHERE sty1=0 and sty2=3 ORDER BY rnd(problemid))
union
(SELECT TOP 4 * FROM dbo_problems WHERE sty1=0 and sty2=4 ORDER BY rnd(problemid))
union
(SELECT TOP 14 * FROM dbo_problems WHERE sty1=0 and sty2=5 ORDER BY rnd(problemid))
UNION (SELECT TOP 20 * FROM dbo_problems WHERE sty1=3 ORDER BY rnd(problemid));
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+' union all select top '+cast(ss as varchar)+' *
from tuku where fr='+cast(id as varchar)+' order by newid()'
from zsfr
set @sql=substring(@sql,12,8000)
exec(@sql)