Команда SQL Pivot

Я ищу некоторую помощь при проектировании простой поворота, чтобы я мог связать его в другие части моих запросов.

Мои данные похоже на эту таблицу

таблицы элементов

ниже, является моей таблицей, если я запуску Выбрать * из элементов

ITEM      Weight    
12345         10    
12345         11    
654321        50    
654321        20    
654321       100

В этой таблице сотни элементов, но каждый код элемента будет Максимум 3 веселых записей каждый.

Я хочу, чтобы желаемый вывод

ITEM     Weight_1    Weight_2     Weight_3
12345          10          11         null
654321         50          20          100

был бы признателен за любые предложения, Я играл с поворачивающимися, но каждый последующий предмет ставит вес в вес 4,5,6,7 и т. Д. вместо того, чтобы начать с весом1 для каждого элемента.

Спасибо

Обновление

Ниже приведено то, что я использовал до сих пор,

SELECT r.*
FROM   (SELECT 'weight' + CAST(Row_number() OVER (ORDER BY regtime ASC)AS
                               VARCHAR(10))
                      line,
               id,
               weight
        FROM   items it) AS o PIVOT(MIN([weight]) FOR line IN (weight1, weight2,
       weight3)) AS r  
5
задан Adriano Carneiro 8 September 2011 в 13:22
поделиться