It is not possible with the query for this u have to write your own store procedure.
Example
Create Table of name tlbTextData
create table tlbTextData (fldTextKey varchar(10), fldTextVal varchar(10))
insert into tlbTextData values('One','1')
insert into tlbTextData values('Two','2')
insert into tlbTextData values('Three','3')
insert into tlbTextData values('Four','4')
insert into tlbTextData values('Five','5')
Strored Procedure
DECLARE @ColNameAS VARCHAR(10),
@RowElement AS VARCHAR(10),
@SqlQuery AS NVARCHAR(300),
@iColumnName AS INT,
@iFirstTime AS INT,
@AddColName AS NVARCHAR(10)
SELECT @iFirstTime=0
CREATE TABLE #tlbMemTable (fldColName VARCHAR(10))
DECLARE GetColumnName CURSOR FOR
SELECT column_name FROM Information_Schema.Columns WHERE table_name='tlbTextData'
OPEN GetColumnName
FETCH NEXT FROM GetColumnName INTO @ColName
WHILE(@@FETCH_STATUS = 0)
BEGIN
INSERT INTO #tlbMemTable(fldColName) VALUES(@ColName)
SET @iColumnName = 0
SELECT @SqlQuery = 'DECLARE GetRow CURSOR FOR SELECT '+ @ColName +' FROM tlbTextData'
EXEC sp_executesql @SqlQuery
OPEN GetRow
FETCH NEXT FROM GetRow INTO @RowElement
WHILE(@@FETCH_STATUS = 0)
BEGIN
SELECT @AddColName = 'VAL'+CAST(@iColumnName AS VARCHAR(10))
print @AddColName
IF(@iFirstTime=0)
BEGIN
SELECT @SqlQuery = 'ALTER TABLE #tlbMemTable ADD '+@AddColName+' NVARCHAR(10)'
EXEC(@SqlQuery)
END
SELECT @SqlQuery = 'UPDATE #tlbMemTable SET '+@AddColName+'='''+@RowElement+''''+' WHERE fldColName='''+@ColName +''''
EXEC(@SqlQuery)
SET @iColumnName = @iColumnName + 1
FETCH NEXT FROM GetRow INTO @RowElement
END
CLOSE GetRow
DEALLOCATE GetRow
SET @iFirstTime = 1
FETCH NEXT FROM GetColumnName INTO @ColName
END
CLOSE GetColumnName
DEALLOCATE GetColumnName
SELECT * FROM #tlbMemTable
DROP TABLE #tlbMemTable
Note : Please optimize above sp if ur going to use it :)