मैं CASE
एक SELECT
प्रश्न (पोस्टग्रैज) में प्रदर्शित करने के लिए किस कॉलम का उपयोग कर सकता हूं , जैसे:
SELECT CASE WHEN val = 0 THEN column_x
WHEN val = 1 THEN column_y
ELSE 0
END AS update, ...
क्या UPDATE
Postgres में एक क्वेरी करते समय कुछ ऐसा ही संभव है (यानी कौन से कॉलम को अपडेट किया जाना चाहिए)? मुझे लगता है कि मुझे इस बारे में कुछ नहीं मिला, लेकिन हो सकता है कि किसी के पास एक चतुर विकल्प हो (इसके अलावा एक प्रक्रिया का उपयोग करके या प्रत्येक कॉलम को अपडेट करके CASE
यह निर्धारित करने के लिए कि क्या स्तंभ के मूल्य को एक नया मूल्य सौंपा जाना चाहिए या बस मौजूदा को फिर से असाइन किया गया है मूल्य)। यदि कोई आसान विकल्प नहीं है, तो मैं निश्चित रूप से एक उत्तर के रूप में स्वीकार करता हूं।
अतिरिक्त जानकारी : मेरे मामले में मेरे पास 14 संभावित कॉलम हैं जिन्हें अपडेट किया जा सकता है, प्रति मिलान पंक्ति में केवल एक अपडेट किया जा रहा है (अपडेट की जाने वाली तालिका क्वेरी में दूसरे के साथ जुड़ जाती है)। अद्यतन करने के लिए पंक्तियों की मात्रा सबसे अधिक भिन्न होगी, दर्जनों या सैकड़ों हो सकती है। मेरा मानना है कि सूचकांक में शामिल होने की स्थिति के लिए हैं।