मैं उपयोगकर्ता जानकारी की विरासत तालिका है मूल्य के रूप में एक और स्तंभ स्तंभ नाम के रूप में गतिशील पंक्ति मानों का चयन करें (जो सक्रिय उपयोग में अब भी है) और मैं की संरचना को बदल नहीं सकते हैं -mysql,
id name value
------------------------------
0 timezone Europe/London
0 language en
0 country 45
0 something x
1 timezone Europe/Paris
1 language fr
1 country 46
समय क्षेत्र/भाषा/देश आदि नामों में से केवल उदाहरण हैं, वे चर हो सकता है/वहाँ उस स्तंभ की पंक्तियों पर अद्वितीय के अलावा अन्य कोई निश्चित सूची है
मैं एक MySQL संगत SQL क्वेरी कि वापसी होगी की जरूरत है -
id timezone language country something
---------------------------------------------------
0 Europe/London en 45 x
1 Europe/Paris fr 46
मैंने MySQL में पिवट तालिका कार्यक्षमता हैकिंग के आसपास स्टैक ओवरफ्लो पर विभिन्न उत्तरों को देखा है, और इसी तरह, लेकिन उनमें से कोई भी एक ही तालिका के कॉलम से अद्वितीय पंक्ति मानों से परिवर्तनीय कॉलम नाम उपनाम का उपयोग करने के इस मामले से मेल नहीं खाता है। यद्यपि मेरे पास बहुत नींद आ गई है, इसलिए वे सभी एक धुंधला हो जाना शुरू कर रहे हैं, अग्रिम में क्षमा चाहते हैं।
निकटतम मैं मिल सकता है जो पहला नाम स्तंभ से सभी संभव/अनन्य मानों मिलेगा तैयार बयान https://stackoverflow.com/a/986088/830171 का उपयोग करें और एक प्रश्न CASE WHEN
का उपयोग करता है के निर्माण के लिए, हो सकता है और/या एकाधिक उप SELECT
या JOIN
एक ही मेज प्रश्नों पर।
विकल्प जो मैं सोच सकता हूं वह उस उपयोगकर्ता आईडी के लिए सभी पंक्तियां प्राप्त करना होगा और उन्हें एप्लिकेशन में स्वयं को फॉर-लूप में संसाधित करना होगा, या नामों को सीमित राशि तक सीमित करने का प्रयास करें और उप -SELECT
एस/JOIN
एस। हालांकि यदि दूसरा नाम जोड़ा गया है तो दूसरा विकल्प आदर्श नहीं है, मुझे इस क्वेरी पर फिर से जाना होगा।
कृपया मुझे बताओ कि मैं कुछ स्पष्ट
क्या आपको वास्तव में इसे 'एसक्यूएल' में व्यक्त करने की आवश्यकता है या आपकी प्रोग्रामिंग भाषा पसंद के साथ पर्याप्त प्रसंस्करण होगी? यदि आपको अपने डी-फ़नलग्लड डेटा के विरुद्ध शामिल होने की आवश्यकता है, तो एक दृश्य/proc चाल हो सकती है। – bluevector
ये मैं अब के लिए एप्लिकेशन स्तर में गड़बड़ रखूंगा - मुझे उस उपयोगकर्ता आईडी और लूप को एक सहयोगी सरणी में डेटा डालने पर मिल जाएगा। मैं सिर्फ यह देखना चाहता था कि यह एकमात्र अच्छा विकल्प था। माइग्रेशन और एक-ऑफ रिपोर्ट के लिए SQL विधि रखने के लिए अभी भी बहुत आसान है। – gingerCodeNinja