10
回答
sql 语句
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

  SQL Server 2008数据库,执行语句语法报错

(select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25)  as  temp_table 

 

关键字 'as' 附近有语法错误。

 

很郁闷,这不就是一个简单的 语句啊!!!!

 

举报
光石头
发帖于7年前 10回/412阅
共有10个答案 最后回答: 7年前

create table #tempReimTable(

userId int,

userName varchar(100),

dutyId int,

dutyName varchar(100),

citysum float,

zdf    float,

startDate datetime,

unitId int,

unitName varchar(200),

reimId int

)

 (select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25)    temp_table 

这样报错 

'temp_table' 附近有语法错误。

如果直接执行

select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25

可以出来结果

引用来自#6楼“屁屁果”的帖子

如果直接执行

select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25

可以出来结果

是啊,那你为什么还要搞成错误的写法呢?

明白了,

(select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25)    temp_table 

必须取个别名

(select username,COUNT(username) as temp_,inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25)    temp_table 

引用来自#7楼“红薯”的帖子

引用来自#6楼“屁屁果”的帖子

如果直接执行

select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25

可以出来结果

是啊,那你为什么还要搞成错误的写法呢?

有个地方那个需要连表查询,  给 count 取个别名就好了

引用来自#9楼“屁屁果”的帖子

引用来自#7楼“红薯”的帖子

引用来自#6楼“屁屁果”的帖子

如果直接执行

select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25

可以出来结果

是啊,那你为什么还要搞成错误的写法呢?

有个地方那个需要连表查询,  给 count 取个别名就好了

 这个 貌似和 给count 取别名没关系

直接执行下面这个是没有问题的

(select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25)

如果要将此结果集 和 其他对象 联合查询或单独作为查询对象的话 是需要给这个语句整体 起一个别名的 如下

select * from (select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25) as TabXXX

或者

select * from (select username,COUNT(username),inDate from  #tempReimTable  group by inDate,userName having COUNT(username)>25) as TabXXX,TabYYY where Tabxxx.columx=Tabyyy.columny ....

顶部