У меня есть несколько операторов вот так (с использованием оператора WITH):
WITH valDiff AS (SELECT <ComplexClause1> AS v1 FROM [MyTable] WHERE <OtherClause1>) SELECT SUM(CASE WHEN v1 < @MaxVal THEN v1 ELSE @MaxVal END) FROM valDiff
UNION
WITH valDiff AS (SELECT <ComplexClauseN> AS v1 FROM [MyTable] WHERE <OtherClauseN>) SELECT SUM(CASE WHEN v1 < @MaxVal THEN v1 ELSE @MaxVal END) FROM valDiff
Мне нужно объединить их в объединение, чтобы результат возвращался «одним махом». Эти операторы работают нормально сами по себе, но если я добавлю между ними слово «UNION», как я показал выше, я получаю следующую ошибку:
Неверный синтаксис рядом с ключевым словом UNION.
Неправильный синтаксис рядом с ключевым словом with.
Если этот оператор является общим табличным выражением, предложение xmlnamespaces или предложение контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой. "
Что я делаю не так?