Я пытаюсь выполнить SQL-запрос через связанный сервер SSAS. Первоначальный запрос работает нормально:Ошибка имени недопустимого столбца в операторе SQL из результатов OpenQuery
SELECT "Ugly OLAP name" as "Value"
FROM OpenQuery(OLAP, 'OLAP Query')
Но если я пытаюсь добавить:
WHERE "Value" > 0
Я получаю сообщение об ошибке
имя Invalid столбца 'Value'
Любой идеи, что я могу делать неправильно?
Таким образом, проблема заключалась в том, что порядок обработки элементов запроса отличается от порядка их написания. Согласно этому источнику:
http://blogs.x2line.com/al/archive/2007/06/30/3187.aspx
Порядок оценки в MSSQL является:
- ОТ
- ПО
- РЕГИСТРИРУЙТЕСЬ
- ГДЕ
- GROUP BY
- HAVING
- ВЫБОР
- ORDER BY
Так псевдоним не был обработан только после WHERE и HAVING положения.
Что со всеми не-ответами на этот вопрос !? – 2011-07-27 17:20:06