Jak mogę użyć instrukcji if po CTE (SQL Server 2005)

Ostatniej nocy pisałem prosty program T-SQL podobny do tego

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

Znalazłem po kompilacji, że rzuca błąd w stylu „Niepoprawna instrukcja w pobliżu, jeśli”

Co jest nie tak?

Zrobiłem to jednak w inny sposób. Ale chciałem wiedzieć, dlaczego to nie zadziałało!

questionAnswers(4)

yourAnswerToTheQuestion