sto lavorando su una query di rotazione dinamica su una tabella che contiene:SQL dinamico Pivot - come ordinare le colonne
- OID - IDOrdine
- Size - dimensioni del prodotto
- BucketNum - il ordinano che le dimensioni dovrebbero andare
- quantità - quanti ordinato
La colonna dimensione contiene diverse dimensioni dependi ng sull'OID.
Quindi, utilizzando il codice trovato here, ho messo questo insieme:
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)
Questa grande opera se non che le intestazioni delle colonne (le etichette dimensioni) non sono in ordine in base alla colonna bucketnum. Sono nell'ordine in base alle dimensioni.
Ho provato l'opzione Ordina per dopo il pivot, ma non funziona.
Come controllo l'ordine di visualizzazione delle colonne?
Grazie
Ahhhhh! Il bit 'MIN (BucketNum)' era quello di cui avevo bisogno !! Grazie, grazie! – GernBlandston