“临时表” - x附近的语法不正确

时间:2013-04-11 20:07:22

标签: sql sql-server sql-server-2008

我在x附近收到错误语法错误。为什么?另外,x是临时表。如果没有,那么它是什么?

select sum(x.count)
from
(
  select  count(id) as 'count'
  from    table1   
) x

以上查询可能有效。但是,当相同的逻辑应用于下面的查询时,我得到相同的错误 - table_name-

附近的语法不正确
select sum(table_name.an_alias)
from 
(select 
  top 5
  avg(some_value) as an_alias
  where (some_condition)
  group by a_date
)table_name

当您只运行内部查询时,它会生成一个datetime列和一个int列。 我想使用外部select来汇总该int列。

2 个答案:

答案 0 :(得分:1)

尝试用括号代替歌曲引号

 select sum(x.count)
 from  ( select count(id) as [count]
         from table) x,

将别名'count'更改为'cny',看看会发生什么......

 select sum(x.cnt)
 from  ( select count(id) cnt
         from table) x,

但是意识到子查询只有一行,因为你没有对任何东西进行分组,所以这应该等同于

select count(id) from table

答案 1 :(得分:1)

此查询适用于我,假设您使用实际的表名,而不是“来自表”。

在您的查询中,x是子查询的别名。您可以将其称为表别名,但在这种情况下,它会使子查询别名而不是表。