• I'd use the cte approach. I'm confident it can be compressed a little further but this would be my starting point:

    WITH cte_originalquery AS

    (

    SELECT 1 AS Number UNION ALL

    SELECT 2 AS Number UNION ALL

    SELECT 3 AS Number

    ),

    cte_originalqueryExpanded AS -- add two columns to be used for output order

    (

    SELECT

    1 AS Sort,

    Number AS Sort2,

    Number

    FROM cte_originalquery

    ),

    cte_helperquery AS-- add the required number of "go" lines using separate cte

    (

    SELECT

    2 AS Sort,

    Number AS Sort2,

    'GO' AS AddLine

    FROM cte_originalquery

    ),

    cte_merged AS-- merge the two queries

    (

    SELECT

    Sort,

    Sort2,

    AddLine

    FROM cte_helperquery

    UNION ALL

    SELECT

    Sort,

    Sort2,

    CAST(Number AS VARCHAR(10))

    FROM cte_originalqueryExpanded

    )

    -- final output, ordered properly

    SELECT AddLine as final

    FROM cte_merged

    ORDER BY Sort2,Sort



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]