Я пытаюсь выполнить SQL-запрос через связанный сервер SSAS. Начальный запрос работает нормально:
SELECT "Ugly OLAP name" as "Value"
FROM OpenQuery( OLAP, 'OLAP Query')
Но если я попытаюсь добавить:
WHERE "Value" > 0
Я получаю ошибку
Неверное имя столбца 'Значение'
Есть идеи, что я могу делать не так?
Таким образом, проблема заключалась в том, что порядок обработки элементов запроса отличается от порядка их написания. По данным этого источника:
http://blogs.x2line.com/al/archive/2007/06/30/3187.aspx
Порядок оценки в MSSQL:
- FROM
- ON
- JOIN
- ГДЕ
- GROUP BY
- HAVING
- SELECT
- ЗАКАЗАТЬ ПО
Таким образом, псевдоним не обрабатывался до тех пор, пока не были выполнены предложения WHERE и HAVING.