You can do a Dynamic Pivot to attain the Expected Result as follows:--Creating tableCreate Table Ex(ID int, SN int )--Inserting Sample Data Insert into ExSelect 178, 718218union ALLSelect 178, 718221 union ALLSelect 178, 718217 union ALLSelect 178, 718220 union ALLSelect 178, 718223 union ALLSelect 178, 718224 union ALLSelect 178, 718226 union ALLSelect 178, 718225 union ALLSelect 178, 718219 union ALLSelect 178, 718228union ALL Select 178, 718227 union ALLSelect 178, 718229--Dynamic PivotDeclare @cols varchar(max), @sql Varchar(max)Select @cols = Coalesce(@cols + ', ', '') +QUOTENAME(rn) From (Select *, 'SN' + Cast(ROW_NUMBER() Over (Order By (Select NULL) ) AS Varchar(30) ) As rn From Ex) As aSet @sql = 'Select Id, '+@cols+' From (Select *, ''SN'' + Cast(ROW_NUMBER() Over (Order By (Select NULL) ) AS Varchar(30) ) As rn From Ex) As a Pivot (Max(SN) For rn IN ('+@cols+')) As pvt'Execute (@sql)
N 28° 33' 11.93148"E 77° 14' 33.66384"