Как я могу использовать оператор 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)

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