Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

कॉलम नाम उत्पन्न करने के लिए गतिशील एसक्यूएल?

इन वर्षों में मेटाडेटा से गतिशील पिवट एसक्यूएल उत्पन्न करके इनमें से बहुत से उत्तर देने के बाद, इन उदाहरणों पर एक नज़र डालें:

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे रैंक () SQL सर्वर में काम करता है

  2. आपके व्यवसाय के लिए उपलब्ध शीर्ष डेटाबेस निगरानी विकल्प

  3. एक्सएमएल पथ ('') के लिए:विशेष पात्रों से बचना

  4. टी-एसक्यूएल में घुंघराले ब्रेसिज़

  5. SQL सर्वर लेनदेन संबंधी प्रतिकृति मुद्दे