Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL क्वेरी, केवल तभी चुनें जब कॉलम रिक्त न हो अन्यथा चयन न करें

यदि आप दो स्तंभों वाली एक पंक्ति प्राप्त करना चाहते हैं जब दो गैर-शून्य स्तंभ हों, और 1 यदि केवल एक हो, तो आपको गतिशील रूप से अपनी क्वेरी बनानी होगी।

यदि आप हमेशा 1 कॉलम रखना चाहते हैं जहां प्रत्येक पंक्ति में एक गैर-शून्य मान हो, तो आप इसे एक संघ के साथ कर सकते हैं।

SELECT a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT c FROM tbl WHERE c IS NOT NULL AND id = ?

यदि आप यह जानना चाहते हैं कि कौन से कॉलम से मान आते हैं, तो आप ऐसा कुछ कर सकते हैं:

SELECT 'col a' AS ColName, a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT 'col b', b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT 'col c', c FROM tbl WHERE c IS NOT NULL AND id = ?

नोट:संघ डुप्लिकेट परिणाम भी निकालता है। यदि आप डुप्लीकेट रखना चाहते हैं, तो UNION ALL use का उपयोग करें ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php . का उपयोग करके तालिका में डेटा डालें

  2. बहुत अधिक अजाक्स कॉल के कारण ब्राउज़र में स्मृति त्रुटि से कैसे बचें?

  3. विशाल तालिका से बड़ी मात्रा में डेटा हटाएं

  4. MySQL ऑप्टिमाइज़िंग INSERT स्पीड इंडेक्स की वजह से धीमी हो रही है

  5. PHP और MySQL में टाइमज़ोन सेट करें