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

संघ सभी दो टेबल लेकिन कॉलम की संख्या में अंतर

बस union all . से पहले एग्रीगेशन करें :

select sum(cnt) as total
FROM ((SELECT count(*) as cnt
       FROM database1.orders
       WHERE number LIKE '11111111111111111'
      )
      UNION ALL
      (SELECT count(*) as cnt
       FROM database2.orders
       WHERE number LIKE '11111111111111111'
      )
     ) t;

नोट मैंने स्ट्रिंग डिलीमीटर को दोहरे उद्धरण के बजाय एकल उद्धरण के रूप में बदल दिया है। स्ट्रिंग और दिनांक स्थिरांक (और कुछ नहीं) के लिए सिंगल कोट्स का उपयोग करना अच्छा अभ्यास है।

वैसे, आप इसे एक जॉइन का उपयोग करके भी कर सकते हैं:

select o1.cnt1, o2.cnt1, (o1.cnt1 + o2.cnt1) as total
FROM (SELECT count(*) as cnt1
      FROM database1.orders
      WHERE number LIKE '11111111111111111'
     ) o1 cross join
     (SELECT count(*) as cnt2
      FROM database2.orders
      WHERE number LIKE '11111111111111111'
     ) o2;

इससे दो डेटाबेस के लिए व्यक्तिगत गणना प्राप्त करना आसान हो जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL के साथ स्प्रिंग बूट CRUD उदाहरण

  2. मैं ऑर्डरिंग के साथ दो प्रश्नों के परिणामों को कैसे जोड़ूं?

  3. साइबेस एएसई में MYSQL group_concat समकक्ष?

  4. नाओ () लेनदेन के साथ कैसे इंटरैक्ट करता है?

  5. शून्य मान वाली आउटपुट पंक्तियां केवल तभी होती हैं जब गैर-शून्य मान वाली समान पंक्ति न हो