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

MySQL एकाधिक तालिकाओं से मिलान रिकॉर्ड की गणना करें

इस क्वेरी को फिर से लिखने का दूसरा तरीका।

प्रत्येक तालिका में अलग-अलग समूह बनाएं और गिनें, फिर शामिल हों:

SELECT  a.id, 
        COALESCE(b.t1, 0) AS t1,
        COALESCE(c.t2, 0) AS t2,
        COALESCE(d.t3, 0) AS t3
FROM
        entity a
    LEFT JOIN
        ( SELECT ei,
                 COUNT(*) AS t1
          FROM table1
          GROUP BY ei
        ) AS b
            ON a.id = b.ei
    LEFT JOIN
        ( SELECT ei,
                 COUNT(*) AS t2
          FROM table2
          GROUP BY ei
        ) AS c
            ON a.id = c.ei
    LEFT JOIN
        ( SELECT ei,
                 COUNT(*) AS t3
          FROM table3
          GROUP BY ei
        ) AS d
            ON a.id = d.ei
  ;

आपको (ei) . पर एक इंडेक्स जरूर जोड़ना चाहिए 3 टेबलों में से प्रत्येक पर, यदि आपके पास एक नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xcode और Objective-C . का उपयोग करके MySQL डेटाबेस से कनेक्ट करना

  2. MySql, दिनांक और समय कॉलम को टाइम स्टैम्प में मिलाना

  3. घातक त्रुटि:PHP 5.4.22 और MySQL 5.5 को Apache 2.4.7 से कनेक्ट करते समय अपरिभाषित फ़ंक्शन mysqli_connect () में... पर कॉल करें

  4. एकाधिक तालिकाओं के साथ MySQL संबंध

  5. PyMySQL का उपयोग करके, मैं RDS से कनेक्ट नहीं हो सकता