mysql - how to combine two tables having different column name -
मेरे पास दो टेबल हैं जो ए और बी।
तालिका A:
+ ------------ + | manager_id | + ------------ + | 100 | | 102 | | 103 | | 124 | | 14 9 | | 101 | | 201 | | 205 | + ------------ + तालिका: बी
+ ----------- - + | First_name | + ------------ + | स्टीवन | | लेक्स | | सिकंदर | | केविन | | एलनी | | नीना | | माइकल | | शेली | + ------------ + मैं दोनों तालिकाओं को जोड़ना चाहता हूं। आउटपुट तालिकाएं दिखनी चाहिए ..
1 टेबल की पंक्ति को तालिका बी की पहली पंक्ति के साथ जोड़ना चाहिए। तालिका की दूसरी पंक्ति को तालिका की दूसरी पंक्ति के साथ संयोजित किया जाना चाहिए। और इसी तरह .....
OUTPUT: + ------------ + ------------- + | Manager_id | First_name | + ------------ + ------------- + | 100 | स्टीवन | | 101 | लेक्स | | 102 | एलेक्ज़ेंडर | | 103 | केविन | | 124 | एलेनी | | 14 9 | नीना | | 201 | माइकल | | 205 | शेली | + ------------ + ------------- + मैंने अलग-अलग मिलकर और संघ की कोशिश की है, लेकिन मुझे नहीं मिल रहा है
नोट: ये टेबल एक क्वेरी के परिणाम हैं, इसलिए कोई भी अतिरिक्त कॉलम जोड़ नहीं सकते। < div class = "post-text" itemprop = "text">
यह एक सरल कारण के लिए बहुत बुरा विचार है: SQL टेबल (MySQL टेबलों सहित) का आदेश नहीं दिया गया है। इसलिए इसमें कोई गारंटी नहीं है कि select * के परिणाम किसी विशेष क्रम में होने जा रहे हैं इसमें कोई पहली पंक्ति, दूसरी पंक्ति और इतनी कम नहीं है - कम से कम कोई गारंटी नहीं है। उस ने कहा, कभी-कभी आप कई-से-बिना-स्वचालित आयड्स के लोड किए गए तालिकाओं से सामना कर रहे हैं और आप इसे हल कर सकते हैं। मैं अत्यधिक अनुशंसा करता हूं कि आप परिणामों को बाद में मान्य करें, क्योंकि इसमें कोई गारंटी नहीं है। आपको इस के लिए चर का उपयोग करने की आवश्यकता है:
एक। आरएन, a.manager_id, b.first_name से चुनें (@ rn_a: = @rn_a + 1 को rn, a। जुड़ें (@ rn_a: = 0) कॉन्स्ट) का चयन करें (आरओएन = बी: = @ आरएन_ बी + 1 के रूप में आरएन, बी। * B cross join से (चुनें @ आरएन_ बी: = 0) कॉन्स्ट) b पर a.rn = b .rn; मुझे यह जोड़ना है कि यह दृष्टिकोण अधिकतर डेटाबेस में काम नहीं करेगा, जो सरल चयन के समानांतर प्रसंस्करण का समर्थन करता है। उदाहरण के लिए, ओरेकल और एसक्यूएल सर्वर निश्चित रूप से बड़ी ऑब्जेक्ट टेबल को डालने के क्रम में वापस नहीं लाएंगे (जब तक कि आप विकल्प के एक गुच्छा के साथ बेला न हों)। MySQL प्रविष्टि क्रम में तालिकाओं को वापस करने के लिए लगता है नहीं करता है (कोई इंटरमीडिएट अपडेट या हटाना नहीं मानता है), हालांकि
Comments
Post a Comment