これを修正する必要があります:
SELECT @listCol = STUFF(( SELECT distinct '], [' + [size]
FROM #t
FOR
XML PATH('')
), 1, 2, '') + ']'
正しい順序で列を返すため。 DISTINCT
を使用する代わりに、このようなことをする必要があるかもしれません :
SELECT [size]
FROM #t
GROUP BY [size]
ORDER BY MIN(BucketNum)