一个存储过程的问题,sql怎么从查找出来的数据中求最小值 弄了一上午都没弄好

时间:2021-02-14 19:53:44


CREATE proc test @page int

as

declare @strSQL varchar(1000)

set @strSQL='select min(InfoCreateTime) from (select top'+str(@page*20)+' InfoCreateTime from Infos order by InfoCreateTime desc)'


exec (@strSQL)
GO

老是提示说select 附近有错误,怎么回事情?

谢谢

9 个解决方案

#1


子查询加表别名

#2


谢谢YiZhiNet
我按您建议试了下 还是不行
麻烦你帮忙写出来
谢谢您了

#3


alter proc test 
 @page int
as

declare @strSQL varchar(1000)

set @strSQL='select min(InfoCreateTime) from (select top'+str(@page*20)+' InfoCreateTime from Infos order by InfoCreateTime desc)a'


exec(@strSQL)
GO

--按YiZhiNet的方法应该没问题啊

#4


str(@page*20)  ---這是什麼意思??
不會是轉字符吧?  用convert(varchar(10),@page*20)

#5


set @strSQL='select min(InfoCreateTime) from (select top '+convert(varchar(10),(@page*20))+' InfoCreateTime from Infos order by InfoCreateTime desc) A'

#6


可是测试发现我写的后半截(select top'+str(@page*20)+' InfoCreateTime from Infos order by InfoCreateTime desc)没有问题

#7


从子查询中查询,要给自查询加别名

declare @t table(a int)
insert into @t select 1
insert into @t select 2

--错误
--select * from (select * from @t)

--正确
select * from (select * from @t)a

#8


playwarcraft您的建议太对了 已经解决了 太谢谢您了

#9


xeqtr1982您的建议非常正确
我没有加别名 以前也不知道有这么回事情
YiZhiNet也说得对
playwarcraft也说得对

#1


子查询加表别名

#2


谢谢YiZhiNet
我按您建议试了下 还是不行
麻烦你帮忙写出来
谢谢您了

#3


alter proc test 
 @page int
as

declare @strSQL varchar(1000)

set @strSQL='select min(InfoCreateTime) from (select top'+str(@page*20)+' InfoCreateTime from Infos order by InfoCreateTime desc)a'


exec(@strSQL)
GO

--按YiZhiNet的方法应该没问题啊

#4


str(@page*20)  ---這是什麼意思??
不會是轉字符吧?  用convert(varchar(10),@page*20)

#5


set @strSQL='select min(InfoCreateTime) from (select top '+convert(varchar(10),(@page*20))+' InfoCreateTime from Infos order by InfoCreateTime desc) A'

#6


可是测试发现我写的后半截(select top'+str(@page*20)+' InfoCreateTime from Infos order by InfoCreateTime desc)没有问题

#7


从子查询中查询,要给自查询加别名

declare @t table(a int)
insert into @t select 1
insert into @t select 2

--错误
--select * from (select * from @t)

--正确
select * from (select * from @t)a

#8


playwarcraft您的建议太对了 已经解决了 太谢谢您了

#9


xeqtr1982您的建议非常正确
我没有加别名 以前也不知道有这么回事情
YiZhiNet也说得对
playwarcraft也说得对