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

SQL में एक टेबल को पिवोटिंग करना (यानी क्रॉस टेबुलेशन/क्रॉसस्टैब्यूलेशन)

बिल कार्विन ने इसका उल्लेख किया है, लेकिन मुझे लगता है कि यह बहुत स्पष्ट रूप से इंगित करने योग्य है:

एसक्यूएल वह नहीं करता जो आप मांग रहे हैं, इसलिए आपको जो भी "समाधान" मिलेगा, वह मुश्किल होगा।

अगर आप जानते हैं , निश्चित रूप से, यह हमेशा Oracle 10 पर चलने वाला है, तो निश्चित रूप से, वाल्टर मिती का क्रॉसस्टैब्यूलेशन ऐसा कर सकता है। इसे करने का सही तरीका यह है कि क्वेरी और एप्लिकेशन कोड में सॉर्ट ऑर्डर के सबसे आसान संयोजन को ठीक से व्यवस्थित किया जाए।

  • यह अन्य डेटाबेस सिस्टम पर काम करता है,
  • यह किसी भी अन्य परत के खराब होने का जोखिम नहीं उठाता है (मुझे याद है कि MySQL में उदाहरण के लिए> 255 कॉलम के साथ समस्या है। क्या आप सुनिश्चित हैं कि आप इंटरफ़ेस लाइब्रेरी हैं। कॉपियों के साथ-साथ डीबी ही?)
  • यह (आमतौर पर) इतना कठिन नहीं है।

यदि आपको आवश्यकता हो, तो आप केवल Content_Row_ID के लिए पूछ सकते हैं s पहले, फिर CampaignID . द्वारा आदेशित, आपको जो भी पंक्तियाँ चाहिए, उनके लिए पूछें , ContentRowID , जो आपको प्रत्येक (आबादी वाले) सेल को बाएं से दाएं, पंक्ति-दर-पंक्ति क्रम में देगा।

पीएस.

सामान का एक गुच्छा है जो आधुनिक आदमी सोचता है कि एसक्यूएल को होना चाहिए/वह बस वहां नहीं है। यह एक है, जेनरेट की गई श्रेणियां दूसरी हैं, पुनरावर्ती क्लोजर, पैरामीट्रिक ORDER BY , मानकीकृत प्रोग्रामिंग भाषा... सूची जारी है। (हालांकि, माना जाता है कि ORDER BY . के लिए एक तरकीब है )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle :एक ही पंक्ति के विभिन्न स्तंभों से अधिकतम मान का चयन करें

  2. GI 12.2 अपग्रेड के लिए ASM में VOTE डिस्कग्रुप बढ़ाएँ

  3. SQL IN क्लॉज में 1000 से अधिक प्रविष्टियाँ डालने के लिए TUPLES का उपयोग करना

  4. Oracle में एक तिथि के लिए सामान्य संकेतक जोड़ें

  5. Oracle SqlPlus - एक फ़ाइल में आउटपुट सहेजना लेकिन स्क्रीन पर नहीं दिखाना