sql - Combing multiple rows into one row -
मेरे पास निम्न तालिका है
अनुक्रमणिका BookNumber 2 51 2 52 2 53 1 41 1 42 1 43
मैं निम्नलिखित आउटपुट के साथ आने की कोशिश कर रहा हूं
सूचकांक BookNumber1 Booknumber2 Booknumber3 ------------ ---------------------------------- 1 41 42 43 2 51 52 53
मैं निम्नलिखित प्रश्न के साथ आया था, हालांकि आउटपुट अप्रत्याशित है
का चयन करें अंतर सूचकांक, मामला जब सूचकांक = 1 तब Booknumber END के रूप में BookNumber1, मामला जब सूचकांक = 2 तब Booknumber END के रूप में BookNumber2, मामला जब सूचकांक = 3 तो BookNumber3 BookNumber3 से मेराtable;
मुझे निम्न आउटपुट मिलता है
सूचकांक BN1 BN2 BN3 --------------------- --------- 1 41 नल नल 1 नल 42 नल 1 रिक्त नल 43 2 51 नल रिक्त 2 नल 52 नल 2 रिक्त अशक्त 53
क्या कोई सेकेंड है यह केवल 2 पंक्तियों में है?
मुझे पूरा यकीन नहीं है कि कैसे index
आपकी क्वेरी में आपके डेटा में अनुक्रमणिका
कॉलम से मेल खाता है लेकिन जो क्वेरी आप चाहते हैं वह है:
चुनें सूचकांक, अधिकतम (मामला जब सूचकांक = 1 तब बुकनंबर ईडीडी) जैसा BookNumber1, अधिकतम (मामला जब सूचकांक = 2 तब बुकनंबर END) BookNumber2, अधिकतम (मामला जब इंडेक्स = 3 तब बुकनंबर ईडीडी) आईईसी द्वारा बुक नम्बर 3 से मीटेबल ग्रुप से;
अपना डेटा दोहराएं, क्वेरी अधिक पसंद करती है:
चुनें सूचकांक, अधिकतम (मामला जब इंड = 1 THEN बुकनंबर ईडीडी) BookNumber1, max ( मामला जब इंडस्ट्रीज़ = 2 तब बुकनंबर ईडीडी) बुकनम्बर 2, मैक्स (मामला जब इंडस्ट्रीज़ = 3 तब Booknumber END) के रूप में BookNumber3 से (चयन करें एमटी। *, Row_number ()) सूचकांक द्वारा एमटी ग्रुप;
वैसे, "अनुक्रमणिका" एक आरक्षित शब्द है, इसलिए मुझे लगता है कि यह केवल एक और स्तंभ नाम के लिए एक प्लेसहोल्डर है अन्यथा, आपको इसे दोहरे उद्धरण या वर्ग के ब्रेसिज़ से बचने की आवश्यकता है।
Comments
Post a Comment