select * from user aa left join type bb on aa.type=bb.type
where (select count(*) from User aaa where aaa.type=aa.type and aaa.id<=aa.id)<=bb.row
where (select count(*) from User aaa where aaa.type=aa.type and aaa.id<=aa.id)<=bb.row
create table #use (id int,[name] varchar(10),type varchar(10))
declare @str varchar(1000)
set @str=''
insert #type values(1,'大专',2)
insert #type values(1,'本科',1)
insert #use values(1 ,'a' , '大专' )
insert #use values(2 ,'b' , '大专' )
insert #use values(3 ,'c' , '大专' )
insert #use values(4 ,'d' , '本科' )
insert #use values(5 ,'e' , '本科' )
select @str=@str+ 'select top ' + cast(row as varchar(10)) + ' * from #use where type=''' + type + ''' union all ' from #type
set @str=left(@str,len(@str)-9)
exec(@str)
create table #use (id int,[name] varchar(10),type varchar(10))
declare @str varchar(1000)
set @str=''
insert #type values(1,'大专',2)
insert #type values(1,'本科',1)
insert #use values(1 ,'a' , '大专' )
insert #use values(2 ,'b' , '大专' )
insert #use values(3 ,'c' , '大专' )
insert #use values(4 ,'d' , '本科' )
insert #use values(5 ,'e' , '本科' )
select @str=@str+ 'select top ' + cast(row as varchar(10)) + ' * from #use where type=''' + type + ''' union all ' from #type
set @str=left(@str,len(@str)-9)
exec(@str)
from [use] A left join type B on A.type = B.type
where (select count(*) from [use] C
where C.type = A.type and C.id< = A.id) <= B.row
FROM [use] A LEFT JOIN type B ON A.type = B.type
WHERE (SELECT COUNT(*) FROM [Use] C
WHERE C.type = A.type AND C.id <= A.id) <= B.row
a.id>=aa.id是什么意思,为什么要写可以不写吗?