CTE问题

时间:2010-05-20 08:12:16

标签: sql sql-server

我正在学习CTE,并尝试了以下查询

WITH fooCTE
AS 
(
SELECT TOP 5 f.bar FROM foobar f
)

但是它显示的是一个非常难以理解的错误。

Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ')'.

事实上,当我运行下面的查询时,我会显示前五个值。

SELECT TOP 5 f.bar FROM foobar f
96.8
92.4
99.3
68.9
74.8

SELECT f.bar from foobar f;
96.8
92.4
99.3
68.9
74.8
69.3
94.6
74.8
36.4
92.6
69.4
99.2
39.9
96.2
99.1

我希望语法和内容没有错。我哪里错了?

1 个答案:

答案 0 :(得分:3)

你定义了fooCTE,但你没有做任何事情。 尝试:

WITH fooCTE
AS 
(
SELECT TOP 5 f.bar FROM foobar f
)
select * from fooCTE