PostgreSQL क्रॉसस्टैब मॉड्यूल के साथ कार्य करना
यह निर्दिष्ट करने के लिए एक कमरा होना कि आप अपने डेटा को कैसे प्रदर्शित करना चाहते हैं, आसान है। PostgreSQL के साथ, हालांकि डिफ़ॉल्ट तरीका डेटा को सारणीबद्ध रूप में रखना है, क्रॉसस्टैब मॉड्यूल आपको एक और विकल्प देता है। बेहतर प्रस्तुति के लिए आप PostgreSQL तालिका से 'चयन करें' कॉलम का उपयोग करके पिवट टेबल बना सकते हैं।
यह अद्भुत सुविधा PostgreSQL संस्करण 8.3 के विस्तार के रूप में आती है। 'टेबलफंक' एक्सटेंशन क्रॉसस्टैब फ़ंक्शन प्रदान करता है, जिससे आपके परिणाम सेट के रूप में पिवट टेबल रखना संभव हो जाता है। चलिए एक उदाहरण देते हैं.
सबसे पहले, हम निम्नलिखित कमांड का उपयोग करके तीन कॉलम वाली 'परिणाम' तालिका बनाते हैं:
बनाई गई तालिका खाली है. इस प्रकार, आगे बढ़ें और इसमें मान जोड़ने के लिए INSERT क्वेरी का उपयोग करें। इस मामले के लिए, हम कुछ प्रविष्टियाँ सम्मिलित करते हैं जैसा कि निम्नलिखित में दिखाया गया है:
यदि हम 'चयन' कथन चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं। ध्यान दें कि रिकॉर्ड्स को पुनः प्राप्त करने का यह डिफ़ॉल्ट तरीका उन्हें सारणीबद्ध रूप में कैसे प्रस्तुत करता है। कॉलम का उपयोग हेडर के रूप में किया जाता है और उनके संबंधित मान पंक्तियों में दिखाई देते हैं:
हालाँकि पिछला दृष्टिकोण अधिकांश मामलों के लिए काम करता है, समान रिकॉर्ड पुनः प्राप्त करने का एक और विकल्प है। इस मामले के लिए, हम एक पिवट टेबल बनाना चाहते हैं। इसलिए, हम 'टेबलफंक' एक्सटेंशन का उपयोग करते हैं जो PostgreSQL संस्करण 8.3+ के साथ आता है।
तो, जब हम इसे क्वेरी में कॉल करते हैं तो इसे सक्षम करने के लिए एक 'टेबलफंक' एक्सटेंशन बनाएं। निम्नलिखित आदेश निष्पादित करें:
एक बार जब आपको पिछली छवि जैसा आउटपुट मिल जाएगा तो आपको पता चल जाएगा कि एक्सटेंशन सफलतापूर्वक सक्षम हो गया है।
हमारे क्रॉसस्टैब फ़ंक्शन के लिए, आइए इसे ऐसा बनाएं कि पहला कॉलम फैकल्टी है। इसके नीचे विभिन्न संकाय हैं जो हमारी तालिका में हैं। संकाय कॉलम के आगे, हमारे पास अन्य कॉलम हैं जो हमारी तालिका के श्रेणी कॉलम में विभिन्न मानों का प्रतिनिधित्व करते हैं। अंत में, प्रत्येक श्रेणी के लिए, हमारे पास विभिन्न श्रेणियों में उत्तीर्ण होने वाले छात्रों की संख्या है।
ऐसी पिवट तालिका प्राप्त करने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें:
चुनना * क्रॉसटैब से ( 'कॉलम1 चुनें , कॉलम 2 , कॉलम3 तालिका_नाम से मानदंड के अनुसार ऑर्डर करें' )AS new_name ( कॉलम1 डेटा_प्रकार , कॉलम2 डेटा_प्रकार , column_n डेटा_प्रकार ) ;
हमारे द्वारा बनाई गई उदाहरण तालिका का उपयोग करते हुए, हमारा आदेश इस प्रकार दिखता है:
परिणाम देखने से पहले, आइए देखें कि क्रॉसस्टैब मॉड्यूल कमांड कैसे काम करता है। सबसे पहले, SELECT स्टेटमेंट तीन कॉलम लौटाता है। पहले कॉलम को पंक्ति पहचानकर्ता के रूप में माना जाता है। हमारे मामले में, यह 'संकाय' कॉलम है। दूसरा कॉलम, जो 'श्रेणी' कॉलम है, पिवट तालिका के लिए श्रेणियों का प्रतिनिधित्व करता है। अंत में, तीसरे कॉलम में श्रेणियों के लिए मान शामिल हैं। हमारे मामले में, यह प्रत्येक श्रेणी में छात्रों की संख्या है।
उस समझ के साथ, एक बार जब हम 'एंटर' कुंजी दबाते हैं, तो हमें निम्नानुसार पिवट तालिका प्राप्त होती है:
लौटाई गई पिवट तालिका के आधार पर, हम देख सकते हैं कि यह 2-डी सरणी की तरह काम करता है जहां SELECT कथन में पहला कॉलम पहला सरणी है और दूसरा कॉलम आयाम में दूसरा सरणी है। तीसरे कॉलम में दूसरे सरणी तत्वों के मान शामिल हैं।
निष्कर्ष
PostgreSQL क्रॉसस्टैब तालिका मानों को पिवट तालिका के रूप में प्रस्तुत करने के लिए अच्छा है। क्रॉसस्टैब मॉड्यूल का उपयोग करने के लिए आपको अपने SELECT स्टेटमेंट में तीन कॉलम लौटाने होंगे और इस पोस्ट में इसका उपयोग करने के तरीके पर एक व्यावहारिक उदाहरण साझा किया गया है। इसके अलावा, हमने बताया कि क्रॉसस्टैब मॉड्यूल पिवट टेबल बनाने में कैसे काम करता है जो 2-डी सरणी के समान तर्क का उपयोग करता है।