среда, 20 марта 2013 г.

Как изменить представление в виде таблицы на представление в виде формы (UNPIVOT)


-- Как изменить представление в виде таблицы на представление в виде формы (UNPIVOT)

DECLARE @ProductID INT = 777
-- представление в виде таблицы
SELECT
         Name
         Color
         Size
FROM AdventureWorks2012.Production.Product
WHERE    ProductID = @ProductID;




DECLARE @ProductID INT = 777


-- представление в виде формы
SELECT
    Property, Value
FROM
    (
         SELECT
                 Name
                 ,CAST(Color AS NVARCHAR(50)) AS Color
                 ,CAST(Size AS NVARCHAR(50)) AS Size
         FROM AdventureWorks2012.Production.Product
         WHERE    ProductID = @ProductID
    ) AS Src
         UNPIVOT
    (
         Value FOR Property IN (NameColorSize)
    ) AS Upvt;