इन वर्षों में मेटाडेटा से गतिशील पिवट एसक्यूएल उत्पन्न करके इनमें से बहुत से उत्तर देने के बाद, इन उदाहरणों पर एक नज़र डालें:
SQL डायनेमिक पिवट - कॉलम कैसे ऑर्डर करें
SQL सर्वर 2005 स्तंभों की अज्ञात संख्या पर धुरी
कौन सी SQL क्वेरी या दृश्य "डायनेमिक कॉलम" दिखाएगा
मैं टी-एसक्यूएल में एक्सएमएल कॉलम की विशेषताओं पर कैसे पिवट करूं
DRY सिद्धांत को SQL स्टेटमेंट्स पर कैसे लागू करें जो महीनों को पिवट करते हैं
आपके विशेष मामले में (SQL Server 2005 की PIVOT सुविधा के बजाय ANSI पिवट का उपयोग करके):
DECLARE @template AS varchar(max)
SET @template = 'SELECT
SKU1
{COLUMN_LIST}
FROM
OrderDetailDeliveryReview
Group By
OrderShipToID,
DeliveryDate,
SKU1
'
DECLARE @column_list AS varchar(max)
SELECT @column_list = COALESCE(@column_list, ',') + 'SUM(Case When Sku2=' + CONVERT(varchar, Sku2) + ' Then Quantity Else 0 End) As [' + CONVERT(varchar, Sku2) + '],'
FROM OrderDetailDeliveryReview
GROUP BY Sku2
ORDER BY Sku2
Set @column_list = Left(@column_list,Len(@column_list)-1)
SET @template = REPLACE(@template, '{COLUMN_LIST}', @column_list)
EXEC (@template)