Как я могу использовать оператор if после CTE (SQL Server 2005)

Прошлой ночью я писал простую программу на T-SQL примерно так

DECLARE @ROLEID AS INT

SELECT @ROLEID = [ROLE ID] FROM TBLROLE

;WITH CTE
AS
( 
    SELECT * FROM SOMETABLE
)
IF (@ROLEID  = 1) 
BEGIN
      //SOMECODE
END
ELSE IF(@ROLEID  = 2) 
BEGIN
      //SOMECODE
END
ELSE
BEGIN 
      //SOMECODE
END

Я обнаружил после компиляции, что это выдает ошибку что-то вроде "Неверное утверждение рядом с if

Что случилось?

Однако я сделал это другим способом. Но я хотел знать, почему это не сработало!

Ответы на вопрос(4)

Ваш ответ на вопрос