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

लेफ्ट जॉइन में केवल पहली पंक्ति कैसे प्राप्त करें?

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

How to Retrieve Only the First Row in a LEFT JOIN?

लेफ्ट जॉइन में केवल पहली पंक्ति को पुनः प्राप्त करना

एसक्यूएल में, लेफ्ट जॉइन ऑपरेशन करने से दाहिनी तालिका से कई पंक्तियाँ प्राप्त हो सकती हैं बायीं तालिका से एक पंक्ति से मिलान किया जा रहा है। कुछ परिदृश्यों में, बाईं तालिका में प्रत्येक पंक्ति के लिए दाईं तालिका से केवल पहली पंक्ति पुनर्प्राप्त करना वांछनीय है।

निम्नलिखित सरलीकृत डेटा संरचना पर विचार करें:

**Feeds**
id | title | content
----------------------
1  | Feed 1 | ...

**Artists**
artist_id | artist_name
-----------------------
1 | Artist 1
2 | Artist 2

**feeds_artists**
rel_id | artist_id | feed_id
----------------------------
1 | 1 | 1
2 | 2 | 1

फ़ीड लेखों को पुनः प्राप्त करने और प्रत्येक फ़ीड में केवल पहले कलाकार को जोड़ने के लिए, निम्नलिखित सिंटैक्स का प्रयास किया जा सकता है:

SELECT *
FROM feeds
LEFT JOIN feeds_artists ON wp_feeds.id = (
    SELECT feeds_artists.feed_id FROM feeds_artists
    WHERE feeds_artists.feed_id = feeds.id
    LIMIT 1
)
WHERE feeds.id = '13815'

हालाँकि, यह दृष्टिकोण वांछित परिणाम नहीं दे सकता है। लक्ष्य प्राप्त करने के लिए, निम्नलिखित विकल्प पर विचार करें:

SELECT *
FROM feeds f
LEFT JOIN artists a ON a.artist_id = (
    SELECT
      MIN(fa.artist_id) a_id
    FROM feeds_artists fa 
    WHERE fa.feed_id = f.id
)

यह संशोधन न्यूनतम आईडी वाले कलाकार को निर्धारित करने के लिए MIN() फ़ंक्शन का उपयोग करता है, यह मानते हुए कि कलाकार आईडी समय के साथ बढ़ती है। परिणामस्वरूप, लेफ्ट जॉइन केवल प्रत्येक फ़ीड से जुड़े पहले कलाकार को पुनः प्राप्त करेगा।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3