srko Ответов: 1

Неправильный синтаксис рядом с ключевым словом "with"


Привет Ребята,

Я пытаюсь создать CTE, но сталкиваюсь с этой проблемой при создании. Может ли кто-нибудь, пожалуйста, помочь мне в этом.

Что я уже пробовал:

;WITH myCTE(fname , lname) 
as(
select fname,lname from myTable
)
select * from myCTE

ZurdoDev

Я не получаю ошибку, которая говорит мне, что вы не опубликовали полный sql, который дает вам ошибку.

1 Ответов

Рейтинг:
10

OriginalGriff

Попробуйте использовать одно и то же имя в обоих местах:

WITH myCTE(fname , lname) 
AS(
SELECT fname,lname FROM myTable
)
SELECT * FROM myCTE


srko

@OriginalGriff пробовал то же самое, но не работает, будет ли это связано с поддержкой SSMMS?

ZurdoDev

Попробуйте использовать одно и то же имя в обоих местах:
Должно быть, я ослеп. Единственное отличие от того, что опубликовал ОП, и того, что опубликовали вы, заключается в том, что вы опустили точку с запятой.

0x01AA

Проверьте версии вопроса :)

ZurdoDev

Я думал об этом, но было слишком лень. Однако это все равно не даст ошибки, которую опубликовал ОП. Но это исправило бы первоначальную проблему.

srko

Да, ребята, я обновил свой вопрос.
Удаленный ;
изменил название CTE.

пробовал и то, и другое, но не работает

0x01AA

Какую версию sql server вы используете?

srko

Я использую 2016 год

0x01AA

является ли полное сообщение об ошибке чем-то вроде этого?
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '­'.
Msg 319, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
?

srko

Msg 156, Уровень 15, Состояние 1, Строка 1
Неверный синтаксис рядом с ключевым словом "WITH".

0x01AA

Извини, у меня кончились идеи. Я предлагаю перепечатать все утверждение еще раз (и без копирования/вставки), может быть, некоторые невидимые символы действительно мешают ... например, Alt&240-Это такой зверь

ZurdoDev

Как я уже говорил, тогда у вас есть больше SQL, который Вы нам не показываете, или у вас есть странный специальный символ, который вы не замечаете.

Если я наберу то, что вы разместили, это сработает. А это значит, что вы делаете что-то другое.

srko

пробовал с новым окном запроса, новым скриптом CTE, но все равно он не работает

ZurdoDev

Возможно, предоставьте скриншот того, что вы делаете.

srko

не знаю, как добавить скриншот здесь :(

ZurdoDev

Нажмите на свое имя пользователя в правом верхнем углу, затем перейдите в раздел Мои загрузки слева, а затем загрузите изображение и вставьте url-адрес сюда.