2015-02-13 3 views
-3

У меня есть таблица базы данных sql server, которая имеет такие данные.Преобразование столбцов в строки в SQL Server

No Age Qty Remove 
01 2 350 20 
02 1 255 5 

Но я хочу, выход как этот

  01 02 
Age  2 1 
Qty  350 255 
Remove 20 5 

Любая помощь будет оценена.

+0

Посмотрите [PIVOT] (https://technet.microsoft.com/en-us/library/ms177410%28v= sql.105% 29.aspx). По крайней мере, попробуй, прежде чем спрашивать !! –

ответ

0

Используйте невесомость и шарнир. Я надеюсь, что вы можете использовать это:

DECLARE @t table(No char(2), Age int, Qty int, [Remove] int) 
INSERT @t values('01', 2, 350, 20),('02', 1, 255, 5) 

SELECT Cols, [01], [02] 
FROM 
(
    SELECT Cols, No, val 
    FROM @t as p 
    UNPIVOT  
    (val FOR Cols IN   
    ([Age],[Qty],[Remove])) AS unpvt 
) p 
PIVOT (max(val) FOR [No] IN ([01], [02])) AS pvt 

Результат:

Cols 01 02 
Age 2 1 
Qty 350 255 
Remove 20 5 
+0

Спасибо за ваши предложения. мне было полезно создать динамический запрос. –

+0

@ChularansiFernando, если мой ответ решил ваш вопрос, пожалуйста, примите его –

Смежные вопросы