Thanks Miller,
Query working as expected , here is the query I used for dynamic pivot from #temp2 result
DECLARE @sqlNVARCHAR(MAX)
DECLARE @dynamic_pivotNVARCHAR(MAX)
SET @dynamic_pivot = STUFF(( SELECT DISTINCT ',' + ColumnName FROM #temp2 FOR XML RAW, ELEMENTS, TYPE ).value('.', 'NVARCHAR(MAX)'), 1, 1, '' )
SET @sql = 'SELECT *
FROM #temp2 us
PIVOT ( MAX( ColumnValue ) FOR ColumnName In ( ' + @dynamic_pivot + ' ) ) AS pvt'
EXEC(@sql)