SELECT ID,Col_Names INTO #Temp1 FROM
(VALUES(12,'EmpId'),
(21,'EmpName'),
(23,'Location'))AS Temp1(ID,Col_Names);
SELECT EmpId,EmpName,Location into #Temp2 FROM
(VALUES(1246,'Santosh kumar','HYD'),
(1215,'Harish Kumar','Channai'),
(1234,'Sai kiaran','Medak'),
(1246,'Satish','SangaReddy'))AS Temp2(EmpId,EmpName,Location);
DECLARE @query NVARCHAR(MAX);
SET @query=N'select '+(select Col_Names FROM #Temp1 WHERE ID=21)+' from #Temp2';
EXEC Sp_EXECUTESQL @query;