declare @SQLStr varchar(8000) set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )' exec(@SQLStr)
select * from a1 as A where (select count(id) from a1 where id <= A.id) between 10 and 20 order by idselect id from (select top 10 * from (select top 20 * from a1 order by id) as A order by A.id desc) as B order by B.id asc
declare @str varchar(100) set @str=''select @str=@str+rtrim([name])+',' from tempTableset @str=left(@str,len(@str)-1) print @str
'=' 附近有语法错误。 我去掉select @str=@str+rtrim([name])+',' from tempTable 就没错了
没用啊@str是最后一次的值,没有累加效果阿,什么问题
declare @str varchar(10) declare @s varchar(1000) set @str='' set @s='' declare a cursor for select name from temptable fetch next a into @str while @@FETch_status=0 begin set @s=@s+@str fetch next a into @str end close a deallocate a set @str=left(@str,len(@str)-1) print @str
给你个正确的答案: declare @str varchar(10) declare @s varchar(1000) set @str='' set @s=''declare a cursor for select a from temptable open a fetch next from a into @str while @@fetch_status=0 begin set @s=@s+@str fetch next from a into @str end select @s close a deallocate a
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)
(select count(id) from a1 where id <= A.id)
between 10 and 20 order by idselect id from
(select top 10 * from
(select top 20 * from a1 order by id) as A
order by A.id desc) as B order by B.id asc
我其实是想得到一个表中所有记录的realName字段值的总和
大概这样
tempTable
-----------
name |
-----------
abc
def
dfdf
-----------然后能不能得到"abc,def,dfdf"这样的一个字符串....
set @str=''select @str=@str+rtrim([name])+',' from tempTableset @str=left(@str,len(@str)-1)
print @str
我去掉select @str=@str+rtrim([name])+',' from tempTable 就没错了
declare @s varchar(1000)
set @str=''
set @s=''
declare a cursor for select name from temptable
fetch next a into @str
while @@FETch_status=0
begin
set @s=@s+@str
fetch next a into @str
end
close a
deallocate a
set @str=left(@str,len(@str)-1)
print @str
declare @str varchar(10)
declare @s varchar(1000)
set @str=''
set @s=''declare a cursor for select a from temptable
open a
fetch next from a into @str
while @@fetch_status=0
begin
set @s=@s+@str
fetch next from a into @str
end
select @s
close a
deallocate a