2015-06-25 2 views
-5

У меня есть таблица с данными, подобными приведенной ниже.Преобразование данных из столбцов в строки

ID Full Name Apples Mangoes Grapes 
1  Name1  15  19 13 
2  Name2  11  16 15 
3  Name3  12  18 11 
4  Name4  16  20 11 
5  Name5  14  19 13 
6  Name6  19  15 18 

Я хотел преобразовать его вот так.

ID Full Name Fruits Values 
1 Name1  Apples 15 
1 Name1  Mangoes 19 
1 Name1  Grapes 13 
2 Name2  Apples 11 
2 Name2  Mangoes 16 
2 Name2  Grapes 15 
3 Name3  Apples 12 
3 Name3  Mangoes 18 
3 Name3  Grapes 11 
4 Name4  Apples 16 
4 Name4  Mangoes 20 
4 Name4  Grapes 11 
5 Name5  Apples 14 
5 Name5  Mangoes 19 
5 Name5  Grapes 13 
6 Name6  Apples 19 
6 Name6  Mangoes 15 
6 Name6  Grapes 18 

Есть ли какие-либо возможности, которые могут быть выполнены в Microsoft SQL?

+1

Еще один простой подход, если столбцы известны: http://sqlfiddle.com/#!3/7fdda/2/0 –

+0

https://technet.microsoft. com/en-us/library/ms177410 (v = sql.105) .aspx – galgil

ответ

0

Делают это с UNPIVOT:

select * from TableName 
unpivot([Values] for Fruits in ([Apples], [Mangoes], [Grapes]))u 
+1

@jpw, это запрещено? –

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