Mysql
 sql >> база данни >  >> RDS >> Mysql

присъединете две таблици заедно с броя на записите от втората таблица въз основа на условие

Използвайте LEFT JOIN вместо INNER JOIN :

SELECT c.id, c.name, c.unit, COUNT(p.category_id) as active_count 
FROM `categories` c 
LEFT JOIN `products` p
    ON c.id = p.category_id AND p.is_active = 1 
GROUP BY c.id;

Също така е важно да преместите предиката p.is_active = 1 от WHERE клауза до ON , така че всички записи на categories таблицата се връщат от заявката.




  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 Python

  2. Ефективно наблюдение на MySQL с табла за управление на SCUMM:част 3

  3. Използването на char като първичен/външен ключ е не не?

  4. Как да използвам правилно PHP за кодиране на MySQL обект в JSON?

  5. COMMIT ИЛИ conn.setAutoCommit(true)