Этот вопрос задавался ранее -
Как мы можем использовать CTE в подзапросе на сервере sql?
Единственный предложенный ответ был "Просто определите свой CTE вtop и получить к нему доступ в подзапросе? "
Это работает, но мне бы очень хотелось иметь возможность использовать CTE в следующих сценариях -
в качестве подзапросав SELECT
в качестве производной таблицы в предложении FROM оператора SELECT
Обе они работают в PostgreSQL.В Sql Server 2005 я получаю «Неверный синтаксис рядом с ключевым словом« с »».
Причина, по которой я хотел бы, состоит в том, что большинство моих запросов строятся динамически, и я хотел бы иметь возможность определитьCTE, сохраните его где-нибудь, а затем отправьте в более сложный запрос по требованию.
Если Sql Server просто не поддерживает это использование, мне придется его принять, но я не читал ничего, что гласитчто это не разрешено.
Кто-нибудь знает, возможно ли заставить это работать?