create table a(styleid int) insert into a select 1 union all select 1 union all select 1 union all select 1 union all select 1 union all select 1 union all select 2 union all select 2 union all select 2 union all select 2 union all select 2 union all select 2 union all select 3 union all select 3 union all select 3declare @i int declare @sql varchar(8000) set @i=1 select @sql='select top 5 * from a where ' while @i<4 begin select @i=@i+1 select @sql=@sql+'styleid='+cast(@i as varchar(10))+' union all ' +@sql
end select @sql=@sql+'styleid='+cast(@i as varchar(10)) exec(@sql)
declare @s_back varchar(300),@s_num int set @s_back='',@s_num=1 while @s_num<5 begin @s_back=@s_back+' select top 5 * from tb where styleid='+cast(@s_num as varchar(10)) set @s_num=@s_num+1 @s_back=@s_back+'union all' end exec(@s_back)
insert into a
select 1
union all
select 1
union all
select 1
union all
select 1
union all
select 1
union all
select 1
union all
select 2
union all
select 2
union all
select 2
union all
select 2
union all
select 2
union all
select
2
union all
select 3
union all
select 3
union all
select 3declare @i int
declare @sql varchar(8000)
set @i=1
select @sql='select top 5 * from a where '
while @i<4
begin
select @i=@i+1
select @sql=@sql+'styleid='+cast(@i as varchar(10))+' union all ' +@sql
end
select @sql=@sql+'styleid='+cast(@i as varchar(10))
exec(@sql)
declare @s_back varchar(300),@s_num int
set @s_back='',@s_num=1
while @s_num<5
begin
@s_back=@s_back+' select top 5 * from tb where styleid='+cast(@s_num as varchar(10))
set @s_num=@s_num+1
@s_back=@s_back+'union all'
end
exec(@s_back)