SQL query rows as columns [duplicate]

Test Data

DECLARE @Table TABLE(RecID INT,Name VARCHAR(20),Value VARCHAR(20))
INSERT INTO @Table VALUES
(1,'Color' ,'Red'),
(2,'Size'  ,'Small'),
(3,'Weight','20lbs'),
(4,'Shape' ,'Square')

Query

SELECT *
FROM
(SELECT Name,Value 
FROM @Table) T
PIVOT ( MAX(Value)
        FOR Name
        IN ([Color],[Size],[Weight],[Shape])
        )P

Result Set

╔═══════╦═══════╦════════╦════════╗
║ Color ║ Size  ║ Weight ║ Shape  ║
╠═══════╬═══════╬════════╬════════╣
║ Red   ║ Small ║ 20lbs  ║ Square ║
╚═══════╩═══════╩════════╩════════╝

Leave a Comment