Я пытаюсь добавить функциональность в мой запрос, чтобы выбрать, какой запрос будет выполняться при определенном условии.
DECLARE @Test VARCHAR(50)
SET @Test = 'A'
;WITH A AS (
Select 'A is Selected' as SELECTED),
B AS (
Select 'B is Selected' as SELECTED)
IF(@Test = 'A')
select * from A
IF(@Test <> 'A')
select * from B
На мой пример кода теста выше я получил:
Сообщение 319, Уровень 15, Состояние 1, Строка 5
Неверный синтаксис рядом с ключевым словом «с». Если этот оператор является общим табличным выражением или предложением xmlnamespaces, предыдущий оператор должен заканчиваться точкой с запятой.
Сообщение 102, Уровень 15, Состояние 1, Строка 8
Неверный синтаксис рядом с ','.
Может быть, я что-то упустил?