Неправильный синтаксис около ключевого слова "FROM"

alexFV
Дата: 13.05.2015 11:28:32
Здравствуйте!

Запрос:
SELECT Field1, Field2,
		NewField1 = 5,
		NewField2 = CASE WHEN Field1 > 2010 THEN NewField1 - 1 ELSE 0
FROM dbo.MyTable


Получаю:
Неправильный синтаксис около ключевого слова "FROM".

Подскажите, пожалуйста, как можно переписать запрос, чтобы использовать NewField1 для вычисления NewField2?
Winnipuh
Дата: 13.05.2015 11:30:19
alexFV
Здравствуйте!

Запрос:
SELECT Field1, Field2,
		NewField1 = 5,
		NewField2 = CASE WHEN Field1 > 2010 THEN NewField1 - 1 ELSE 0 END
FROM dbo.MyTable


Получаю:
Неправильный синтаксис около ключевого слова "FROM".

Подскажите, пожалуйста, как можно переписать запрос, чтобы использовать NewField1 для вычисления NewField2?


а так?

CASE WHEN Field1 > 2010 THEN NewField1 - 1 ELSE 0 END
Akina
Дата: 13.05.2015 11:38:21
Winnipuh
а так?

Будет Invalid column name 'NewField1'.

SELECT Field1, Field2,
		5 AS NewField1,
		CASE WHEN Field1 > 2010 THEN 4 ELSE 0 END AS NewField2 
FROM dbo.MyTable
AlanDenton
Дата: 13.05.2015 11:53:01
SELECT
	Field1,
	Field2,
	NewField1,
	NewField2 =
		CASE
			WHEN Field1 > 2010 THEN NewField1 - 1
			ELSE 0
		END
FROM (
	SELECT *, NewField1 = 5
	FROM dbo.MyTable
) t