2015-09-10 2 views
1

У меня есть данные в следующем форматеСплит два столбца в SQL в несколько столбцов

ID  Loss  Sum 
-------------------------- 
1  146276293.1 1 
1  175538865.5 2 
1  146276293.1 3 

Я хочу SQL скрипт вернуть мне

ID  Sum1   Sum2   Sum3 
    --------------------------------------------------- 
    1  146276293.1 175538865.5 146276293.1  
+1

похоже, что вы должны создать 'pivot' select –

+0

Посмотрите на' dynamic pivot'. – FutbolFan

+0

Операторы case или pivot будут работать, если сумма ограничена тремя группами, если переменная числа, а затем динамическая. – xQbert

ответ

1

Этот простой пример делает то, что вы пытаетесь сделать. PIVOT - отличный инструмент. Также исследуйте UNPIVOT при попытке сделать обратное.

select * 
from ( 
     select 1 id, 100 num, 'Sum1' col 
     union select 1, 200, 'Sum2' 
     union select 1, 300, 'Sum3') x 
pivot 
(sum(num) for col in (Sum1, Sum2, Sum3)) p 
Смежные вопросы