Я пытаюсь использовать оператор "WITH" в SQL Server 2005. Кажется, он работает нормально, если я делаю что-то вроде:
WITH MyBigProducts AS (SELECT * FROM Products WHERE Size='Big')
SELECT Name FROM MyBigProducts
Но это терпит неудачу, если я пытаюсь использовать несколько операторов выбора, например:
WITH MyBigProducts AS (SELECT * FROM Products WHERE Size='Big')
SELECT Name FROM MyBigProducts
SELECT Count(*) FROM MyBigProducts
и сообщение об ошибке: "Недопустимое имя объекта" MyBigProducts ".
Есть ли что-то, что я могу сделать, чтобы увеличить объем таблицы "MyBigProducts", чтобы включить оба оператора select?
Мой пример - это упрощение моего фактического кода, вызывающего проблему, поэтому я не обесцениваю возможность того, что приведенный выше тривиальный пример должен работать, и что в моем SQL есть еще одна ошибка.
Я попытался обернуть BEGIN и END вокруг двух операторов SELECT, но синтаксический анализатор не смог его скомпилировать.