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

मैं समान नाम वाली अन्य पंक्तियों के डेटा के आधार पर तालिका में रिक्त मानों को कैसे अपडेट करूं?

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

How do I update empty values in a table based on data from other rows with the same name?

एक तालिका में पंक्तियों के बीच डेटा की प्रतिलिपि बनाना

डेटाबेस प्रबंधन में, अक्सर अन्य पंक्तियों के डेटा के आधार पर पंक्तियों को अपडेट करना आवश्यक होता है एक ही टेबल. कॉलम आईडी, NAME और VALUE वाली एक तालिका पर विचार करें जिसमें डुप्लिकेट NAME मान शामिल हैं, इस प्रकार:

ID   |   NAME    |  VALUE  |
----------------------------
 1   |   Test    |  VALUE1 |
 2   |   Test2   |  VALUE2 |
 1   |   Test2   |         |
 4   |   Test    |         |
 1   |   Test3   |  VALUE3 |

मान लीजिए हम पंक्तियों में खाली VALUE फ़ील्ड को डुप्लिकेट NAME मानों के साथ अपडेट करना चाहते हैं। इसे प्राप्त करने के लिए, हम SQL क्वेरीज़ को नियोजित कर सकते हैं जो एक ही तालिका के भीतर मानों को संदर्भित और अद्यतन करती हैं।

एक दृष्टिकोण में शामिल होने के साथ अद्यतन कथन का उपयोग करना शामिल है। निम्नलिखित क्वेरी में, हम डेटा_टेबल को दो बार जोड़ते हैं, उन्हें dt1 और dt2 के रूप में उपनाम देते हैं:

UPDATE data_table dt1, data_table dt2 
SET dt1.VALUE = dt2.VALUE 
WHERE dt1.NAME = dt2.NAME AND dt1.VALUE = '' AND dt2.VALUE != '' 

यह क्वेरी खाली VALUE फ़ील्ड (जहां dt1.VALUE खाली है) को गैर-रिक्त के साथ पहचानती है और अपडेट करती है समान नाम वाली अन्य पंक्तियों से मान (जहाँ dt2.VALUE खाली नहीं है)।

एक विकल्प के रूप में, हम गैर-रिक्त मानों वाली पंक्तियों की पहचान करने के लिए एक सबक्वेरी का उपयोग कर सकते हैं और इसे अद्यतन करने के लिए मूल तालिका में वापस जोड़ सकते हैं:

UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE
                        FROM data_table
                       WHERE VALUE IS NOT NULL AND VALUE != '') t1
   SET t.VALUE = t1.VALUE
 WHERE t.ID = t1.ID
   AND t.NAME = t1.NAME

इन दोनों प्रश्नों के परिणामस्वरूप वांछित आउटपुट मिलेगा:

ID   |   NAME    |  VALUE  |
----------------------------
 1   |   Test    |  VALUE1 |
 2   |   Test2   |  VALUE2 |
 1   |   Test2   |  VALUE2 |
 4   |   Test    |  VALUE1 |
 1   |   Test3   |  VALUE3 |

ये दृष्टिकोण एक तालिका के भीतर डेटा में हेरफेर करने में लचीलापन प्रदान करते हैं, जिससे आप मानदंडों के आधार पर मूल्यों को अपडेट कर सकते हैं जिसमें एक ही तालिका में अन्य पंक्तियां शामिल होती हैं।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3