"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > SQL में अल्पविराम से अलग किए गए मान फ़ील्ड वाली तालिकाओं को कैसे जोड़ें?

SQL में अल्पविराम से अलग किए गए मान फ़ील्ड वाली तालिकाओं को कैसे जोड़ें?

2024-11-16 को प्रकाशित
ब्राउज़ करें:140

How to Join Tables with Comma-Separated Value Fields in SQL?

अल्पविराम से अलग किए गए मानों के साथ मल्टीपल जॉइन फ़ील्ड को क्वेरी करना

एसक्यूएल में, जब अल्पविराम से अलग की गई सूचियों (सीएसवी) वाली तालिकाओं से निपटते हैं उनके क्षेत्रों में, जॉइन को प्रभावी ढंग से निष्पादित करना चुनौतीपूर्ण हो सकता है। यह आलेख एक विशिष्ट परिदृश्य का पता लगाता है जहां मूवी तालिका में श्रेणियों के कॉलम में एकाधिक श्रेणी आईडी होती हैं, और लक्ष्य श्रेणियों की तालिका से संबंधित श्रेणी के नाम लाते समय इसे पूरी तरह से बाहर करना है।

निम्नलिखित तालिकाएं परिदृश्य को दर्शाती हैं :

Table categories:
-id-       -name-
1          Action
2          Comedy
4          Drama
5          Dance

Table movies:
-id-       -categories-
1          2,4
2          1,4
4          3,5

वांछित जुड़ाव करने के लिए, हम ग्रुप_कॉनकैट() ऑपरेशन के साथ संयोजन में find_in_set() फ़ंक्शन का उपयोग कर सकते हैं। यहां क्वेरी है:

select
    m.id,
    group_concat(c.name)
from
    movies m
    join categories c on find_in_set(c.id, m.categories)
group by
    m.id

क्वेरी स्पष्टीकरण:

  • find_in_set() जांचता है कि क्या एक निर्दिष्ट सबस्ट्रिंग एक स्ट्रिंग के भीतर मौजूद है, इस मामले में, यदि एक श्रेणी आईडी से श्रेणियां तालिका मूवी तालिका में श्रेणियां कॉलम के सीएसवी में मौजूद है।
  • जुड़ने वाला खंड find_in_set() के आधार पर दो तालिकाओं को जोड़ता है। शर्त।
  • group_concat() प्रत्येक मूवी आईडी के लिए सभी मिलान श्रेणी के नामों को एक स्ट्रिंग में जोड़ता है।
  • क्लॉज द्वारा समूह यह सुनिश्चित करता है कि परिणाम मूवी आईडी द्वारा समूहीकृत किए गए हैं, एक साफ और व्यवस्थित प्रदान करते हैं आउटपुट.

परिणामस्वरूप आउटपुट मूवी आईडी को उनके संबंधित श्रेणी नामों के साथ एक सरणी प्रारूप में प्रदर्शित करता है। यह मूवी तालिका में सीएसवी को डीकोड करने की आवश्यकता के बिना संबंधित श्रेणियों तक आसान पहुंच की अनुमति देता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3