SQL Dynamic Pivot - как упорядочить столбцы

Я работаю над динамическим сводным запросом к таблице, которая содержит:

OID - OrderID Size - size of the product BucketNum - the order that the sizes should go quantity - how many ordered

Столбец размера содержит разные размеры в зависимости от OID.

Итак, используя найденный кодВотЯ положил это вместе:

DECLARE @listCol VARCHAR(2000)
DECLARE @query VARCHAR(4000)

SELECT  @listCol = STUFF(( SELECT distinct  '], [' + [size]
                           FROM     #t
                         FOR
                           XML PATH('')
                         ), 1, 2, '') + ']'


SET @query = 'SELECT * FROM
      (SELECT OID,  [size], [quantity]
            FROM #t 
            ) src
PIVOT (SUM(quantity) FOR Size
IN (' + @listCol + ')) AS pvt'


EXECUTE ( @query )

Это прекрасно работает, за исключением того, что заголовки столбцов (метки размеров) расположены не в том порядке, который основан на столбце bucketnum. В порядке в зависимости от размеров.

Я пробовал опциональный Order By после поворота, но это не работает.

Как контролировать порядок появления столбцов?

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос