तो आपका लक्ष्य स्तंभ नामों की सूची . प्राप्त करना है ऐसा है कि उन सभी के पास किसी भी पंक्ति में कम से कम एक गैर-शून्य मान है, है ना? अगर ऐसा है, तो नीचे देखें...
आप SQL क्वेरी में कॉलम के नामों को पैरामीट्रिज़ नहीं कर सकते हैं, इसलिए आपको अपनी पसंद की क्लाइंट भाषा में अपने SQL टेक्स्ट को गतिशील रूप से बनाने की आवश्यकता होगी। एल्गोरिथ्म इस तरह दिखेगा:
- आपको कॉलम नामों की सूची पहले से जाननी होगी। PostgreSQL में इस सूची को स्वचालित रूप से पुनर्प्राप्त करने के तरीके हैं , MySQL और अधिकांश अन्य डेटाबेस।
- इस सूची के माध्यम से और प्रत्येक
column_name
. के माध्यम से पुनरावृति करें गतिशील रूप से एसक्यूएल टेक्स्ट बनाएं जैसे:SELECT column_name FROM YOUR_TABLE WHERE column_name IS NOT NULL LIMIT 1
(देखें MySQL LIMIT और PostgreSQL LIMIT )। - उपरोक्त क्वेरी निष्पादित करें और परिणाम प्राप्त करें। यदि इसमें कोई पंक्ति है, तो
column_name
जोड़ें परिणाम सूची . के लिए । - कॉलम नाम सूची में तत्व होने पर पुनरावृति जारी रखें।
परिणामी सूची में अब कम से कम एक गैर-शून्य मान वाले स्तंभ शामिल हैं।