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的方法应该没问题啊
@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)
不會是轉字符吧? 用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
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也说得对
我没有加别名 以前也不知道有这么回事情
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的方法应该没问题啊
@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)
不會是轉字符吧? 用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
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也说得对
我没有加别名 以前也不知道有这么回事情
YiZhiNet也说得对
playwarcraft也说得对