2017-07-28 130 views
1

我使用的是与条款。我最近遇到一个奇怪的问题。对于即使是简单的查询,我也会得到一个不正确的语法错误,我不知道为什么会这样。with子句,附近有语法错误)“。 (SQL服务器2016)

每当我运行代码简单:

WITH table1 AS (Select value1, value2 from table1) 

我得到一个“附近有语法错误)'”的错误。

我之前用这个不麻烦了,所以我觉得我做的是我只是没有赶上一个非常明显的愚蠢的错误。任何人都可以指出我做错了什么?

+4

你有任何SQL语句之前* *这个脚本?对于'CTE'年代,*以前*声明*必须*用'终止;'。 – Siyual

+3

您的陈述尚未完成。你需要对CTE做些什么。 – Eric

+0

如果上面的行是你所有的SQL语句,那么你有一个不完整的语句,因此是一个错误。 – DVT

回答

6

这是一个CTE - 你需要在它的最终选择。

WITH cte AS (
    SELECT 
     value1, 
     value2 
    FROM table1 
) 
SELECT * FROM cte 

此外,具有CTE命名一样从你从拉动表,是不是一个很好的主意。你有他们两个为table1

+0

这实际上并不是我正在绘制的表格(或列)的名称,为了解决问题,我抽取了通用变量名称来代替它们。 虽然谢谢!我很感激 –

+0

这与Eli的回答@JoshKraushaar有什么关系? – scsimon

+0

@scsimon回应我想象的最后一句话。 –