I've the following query in sql-server: I want to find the number of fields in the query output.
SET @query1 = 'SELECT Strain_ID, COLNAMES as Markers, ' + @cols + '
FROM 
 (  -- Source data for pivoting
    SELECT CONCAT(Chromosome,''_'',Locus) ChrLocus,Strain_ID,Markers, COLNAMES, sort
    FROM ProgenyRawJuly14   
    CROSS APPLY(VALUES (1, MarkerSet1,''MarkerSet1''),(2, MarkerSet2,''MarkerSet2''),(3, Parent1_Marker,''Parent1_Marker''),(4, Parent2_MarkerA,''Parent2_MarkerA''),
    (5, Parent2_MarkerB,''Parent2_MarkerB''))
    AS COLUMNNAMES(Sort, Markers,COLNAMES)
    UNION 
    SELECT CONCAT(Chromosome,''_'',Locus) ChrLocus,Strain_ID,Markers, COLNAMES, sort 
    FROM ParentRawTableJuly14 
    CROSS APPLY(VALUES (1, MarkerSet1,''MarkerSet1''),(2, MarkerSet2,''MarkerSet2''),(3, Parent1_Marker,''Parent1_Marker''),(4, Parent2_MarkerA,''Parent2_MarkerA''),
    (5, Parent2_MarkerB,''Parent2_MarkerB''))
    AS COLUMNNAMES(Sort, Markers,COLNAMES)
  ) x
 PIVOT 
 (
     --Defines the values in each dynamic columns
     min(Markers)
     -- Get the names from the @cols variable to show as column
     FOR ChrLocus IN ('+ @cols +')
 ) p 
order by Strain_ID, sort;'
EXEC SP_EXECUTESQL @query= @query1, @params= N'@queryO NVARCHAR(MAX) OUTPUT',              
@queryO= @queryO OUTPUT; 
select @queryO;
How do I get the number of fields in @queryO so that I can create a temporary table with that number of columns?
 
     
    