How can I use if statement after a CTE (SQL Server 2005)

前端 未结 4 698
无人共我
无人共我 2020-12-29 04:12

Last night I was writing a simple T-SQL program something like this

DECLARE @ROLEID AS INT

SELECT @ROLEID = [ROLE ID] FROM TBLROLE

;WITH CTE
AS
( 
    SELE         


        
4条回答
  •  星月不相逢
    2020-12-29 04:20

    A little late but I can't be the only one bumping into this.

    A solution could be to create a temporary table like this:

    -- If previous run of this query fails, the temp table will be deleted.
    -- Selecting into creates the temp table which fails if it already exists
    IF EXISTS(SELECT [name] FROM tempdb.sys.tables WHERE [name] like '#dtBalansOpgesteldGefilterd%') BEGIN
       DROP TABLE #temp
    END;
    
    ;WITH CTE
    AS
    ( 
        SELECT * FROM SOMETABLE
    )
    
    -- Followed by select statement as required
    SELECT *
    INTO #temp
    FROM CTE
    
    IF @awsome = 1
    BEGIN
        SELECT 'WHATEVERYOUWANT' AS WhateverColumnNameYouWant, *
        FROM #temp
    END
    

提交回复
热议问题