मुझे कुछ चुनौती के लिए मदद चाहिए

मैं (पोस्टग्रेएसक्यूएल के लिए एसक्यूएल स्क्रिप्ट का उपयोग करके) कॉलम ए से बी में डेटा कॉपी कैसे कर सकता हूं यदि ए न्यूल है और यदि बी शून्य है तो कॉलम सी से डेटा कॉपी करें?

तो अगर ए, बी से डेटा कॉपी नहीं है, लेकिन अगर बी भी कॉलम सी से शून्य कॉपी है। सभी डेटा एक ही तालिका में हैं।

क्या यह संभव है?

1
Michael Stoerr 28 फरवरी 2020, 13:10
हमें कुछ नमूना तालिका डेटा दिखाएं, दोनों संस्करणों से पहले और बाद में। (स्वरूपित पाठ के रूप में, चित्र नहीं।)
 – 
jarlh
28 फरवरी 2020, 13:12
मेरे पास अभी तक वे नहीं हैं। सामान्य कॉलम ए में नया और काफी खाली है, स्क्रिप्ट को कॉलम बी से ए तक स्ट्रिंग मान की प्रतिलिपि बनाना चाहिए, लेकिन यदि बी न्यूल है तो कॉलम सी से डेटा कॉपी करना चाहिए, लेकिन केवल तभी ए न्यूल है। यह सिर्फ एक भविष्य का मामला है इसलिए कॉलम ए अभी तक मौजूद नहीं है
 – 
Michael Stoerr
28 फरवरी 2020, 13:15
बस कुछ बनाएं, कुछ पंक्तियों में अलग-अलग अशक्त / अशक्त संयोजन नहीं हैं।
 – 
jarlh
28 फरवरी 2020, 13:19

1 उत्तर

शायद COALESCE वही है जो आप यहां अपडेट के साथ चाहते हैं:

UPDATE yourTable
SET A = COALESCE(B, C)
WHERE A IS NULL;

यह तर्क A के लिए NULL मान के साथ B के मानों के साथ रिकॉर्ड अपडेट करेगा, या यदि B मान भी NULL से C.

3
Tim Biegeleisen 28 फरवरी 2020, 13:16