2015-03-18 4 views
0

Я был запущен этот запрос в MSSQL:Ошибка с ЕКОМ, содержащий подзапрос

SELECT * FROM (SELECT * FROM ABC) 

Это дает ошибку:

Msg 102, Level 15, State 1, Line 1

Incorrect syntax near ')'.

Эта же команда работает просто отлично в базе данных DB2. Я знаю, что этот запрос не имеет никакого смысла, я просто тестировал функциональность.

Итак, существуют ли определенные функции, например, SELECT in FROM, которые не поддерживаются в MSSQL, которые поддерживаются в DB2?

+3

Попробуйте поместить псевдоним в подзапрос: 'SELECT * FROM (SELECT * FROM ABC) AS t'. –

+0

работает, спасибо :) – Shawn

ответ

3

Вам просто нужно дать Подзапрос псевдоним следующим образом:

SELECT * FROM (SELECT * FROM ABC) subTable 

Что переводится:

SELECT * FROM (SELECT * FROM ABC) as subTable 

AS не является обязательным.

+0

В то время как 'As' * является * опциональным, отсутствует его ленивый и может вызвать массу путаницы! «Если вы этого не делаете, это не получается в производстве» – gvee

+0

работает, спасибо! – Shawn

Смежные вопросы