CTE применяется ко всему утверждению и не является автономным. Это предложение или подконструкция в более крупной конструкции SQL.
Это работает, если вывод каждого оператора отличается
IF EXISTS (SELECT * FROM table WHERE Column1 = x)
BEGIN
;WITH cStuff AS
(
...
)
SELECT
...
FROM
tables and cStuff
END
ELSE
BEGIN
SELECT
...
FROM
tables
END
Это работает, если вывод совпадает:
;WITH cStuff AS
(
...
)
SELECT
...
FROM
tables and cStuff
WHERE
column1 = x
UNION ALL
SELECT
...
FROM
tables
WHERE
column1 <> x
В противном случае, я не уверен, чего вы хотите достичь ...