title: How to create temp table with dynamic SQL query result
body: <p>I have this stored procedure:</p>
  
  <pre><code>Declare @MarketID AS NVARCHAR(MAX) = '1.136529848';
  Declare @UserID AS NVARCHAR(MAX) = '6a309d84-d1c6-434d-b9df-4f96a74da912';
  
  DECLARE @colsSelect AS NVARCHAR(MAX);
  DECLARE @colsTemp AS NVARCHAR(MAX);
  DECLARE @query AS NVARCHAR(MAX);
  
  SELECT
      @colsSelect = STUFF((SELECT distinct ',' +
                      '''''' + ' as ' + QUOTENAME(name) 
                           FROM RunnersInfoes  AS t 
                           WHERE marketID = @MarketID 
                           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') , 1, 1, '');
  
  PRINT @colsSelect
  
  SET @query= ';WITH cte AS
               (
                    SELECT
                        id, ParentId, 0 AS Level, Share, AccountTypeName, FirstName
                    FROM
                        dbo.View_UserProfile 
                    WHERE
                        View_UserProfile.id = ' + '''' + @UserID + '''' +'
                    UNION ALL
                    SELECT
                        t.id, t.ParentId, Level + 1 AS Level, t.Share, t.AccountTypeName, t.FirstName
                    FROM
                        View_UserProfile t  
                    INNER JOIN
                        cte ON t.ParentId = cte.id
               )
               SELECT 
                   ID, AccountTypeName AS Type, FirstName AS Name, ' + @colsSelect + '      
               FROM cte AS t'
  
  EXECUTE (@query)
  </code></pre>
  
  <p>and it's generating this result:</p>
  
  <p><a href="https://i.stack.imgur.com/yyHJF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yyHJF.png" alt="result"></a></p>
  
  <p>I want to create temp table or variable type table for following result , remember the column of this result are dynamically rendered. Sometimes result returns more columns and sometimes with less but first 3 columns remain the same for every result. So kindly help for creating dynamic table inside the stored procedure.</p>