/*--------------存储过程 语法错误--------------------*/
ALTER PROCEDURE dbo.SP_STATISTICS_LOGINMOST
(
@tablename varchar,
@dateStart datetime,
@dateEnd datetime
)
AS
declare @sqlcmd varchar(1000)
set @sqlcmd = 'select top 5 from (select count * from ' + @tablename + 'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + '''group by 号码)'
exec(@sqlcmd)
RETURN
错误提示
关键字 'from' 附近有语法错误。
关键字 'from' 附近有语法错误。
问题点数:20、回复次数:10Top
1 楼chrislv(小吕)回复于 2006-07-03 10:36:31 得分 5
ALTER PROCEDURE dbo.SP_STATISTICS_LOGINMOST
(
@tablename varchar,
@dateStart datetime,
@dateEnd datetime
)
AS
declare @sqlcmd varchar(1000)
set @sqlcmd = 'select top 5 * from (select count * from ' + @tablename + 'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + '''group by 号码)'
exec(@sqlcmd)
RETURNTop
2 楼chrislv(小吕)回复于 2006-07-03 10:37:20 得分 5
ALTER PROCEDURE dbo.SP_STATISTICS_LOGINMOST
(
@tablename varchar,
@dateStart datetime,
@dateEnd datetime
)
AS
declare @sqlcmd varchar(1000)
set @sqlcmd = 'select top 5 * from (select count * from ' + @tablename + 'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + '''group by 号码)'
exec(@sqlcmd)
RETURNTop
3 楼ken_flash(AnotherBug)回复于 2006-07-03 10:40:02 得分 0
'select top 5 from
(select count * from ' + @tablename +
'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + ''' group by 号码)'Top
4 楼ken_flash(AnotherBug)回复于 2006-07-03 10:41:49 得分 0
'select top 5 * from (select count * from ' + @tablename + 'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + ''' group by 号码) '
第二个From还是有错误Top
5 楼cscer(时光之石头)回复于 2006-07-03 10:46:53 得分 5
top 5 后面缺 *
count函数少括号Top
6 楼ken_flash(AnotherBug)回复于 2006-07-03 10:50:20 得分 0
'select top 5 * from (select count(*) from ' + @tablename + ' where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + ''' group by 号码)'
)附近 有错误!Top
7 楼lovvver(ElephantTalk.Bright)回复于 2006-07-03 10:55:26 得分 5
'select top 5 * from (select count(1) from ' + @tablename + 'where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + '''group by 号码)Top
8 楼ken_flash(AnotherBug)回复于 2006-07-03 11:03:51 得分 0
'select top 5 * from (select count(号码) from ' + @tablename + ' where convert(varchar(10),[登录时间],121)>=''' +convert(varchar(10),@dateStart,121)+ ''' and convert(varchar(10),[退出时间],121)<=''' + convert(varchar(10),@dateEnd,121) + ''' group by 号码)'
)附近 有错误!
上次这样写就没事 怎么这次加个Groub by就老出错 高手来帮一下 急用呀Top
9 楼ken_flash(AnotherBug)回复于 2006-07-03 11:06:06 得分 0
在一个时间段内 出现的次数最多的 5个号码 应该就是这样写的吧?思路没错噢?Top
10 楼ken_flash(AnotherBug)回复于 2006-07-03 11:32:58 得分 0
看了好几次 实在不知道哪错了 高手来帮一下噢 下午就要有了Top




