SQL «WITH» Предложение / Заявление - PullRequest
3 голосов
/ 13 июля 2011

Прежде чем я начну помещать множество SQL-операторов, чтобы помочь решить мою проблему, я мог бы получить ответ, задав простой вопрос.Я использую SQL Server 2005 ежедневно и использую предложение WITH для выполнения подзапросов.К сожалению, я сейчас нахожусь в ситуации, когда мне приходится использовать SQL Compact, который не позволяет использовать предложение WITH для выполнения подзапросов.Что является заменой предложения «WITH» в SQL Compact.В среднем я использую 10 подзапросов одновременно.

Ответы [ 2 ]

7 голосов
/ 13 июля 2011

Пока ни одно из ваших CTE (Common Table Expression) - формальное имя используемой вами функции) не является рекурсивным, помните, что в простейшей форме

;WITH Q1 As 
(
   SELECT columns FROM Table1
)
SELECT columns FROM Q1

можно примерно перевести на

SELECT columns FROM (SELECT columns FROM Table1) Q1

Обратите внимание на 'Q1' на конце там.Вы должны дать подзапросу имя.Имя, которое вы часто выбираете, не имеет значения, поэтому простые имена здесь встречаются часто - даже отдельные буквы.С 10 подзапросами, чтобы связать воедино, вам может понадобиться выбрать что-то более значимое.

2 голосов
/ 13 июля 2011

Создать временную таблицу с результатом каждого предложения with; используйте временные таблицы вместо предложения with.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...