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

Преброяването с LEFT JOIN показва само един ред

Имате нужда от GROUP BY във вашата външна заявка, в противен случай заявката просто отчита статуса за всички банки. Можете също така да опростите заявката си само чрез LEFT JOIN ing на двете таблици на код/идентификатор и състояние =0

SELECT b.type `scu_banks.type`,
b.name `scu_banks.name`,
COUNT(s.status) `status`,
b.id `scu_banks.id`
FROM scu_banks b
LEFT JOIN scu_statement s ON s.code = b.id AND s.status = 0
GROUP BY b.id, b.name, b.type

Изход

scu_banks.type  scu_banks.name  status  scu_banks.id
1               One             2       1
1               Two             1       2
2               Three           0       3
3               Four            0       4

Демо на dbfiddle




  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, за да вмъкнете данни в таблицата

  2. Извикване на функция Mysql

  3. Как да избера между 1-вия ден на текущия месец и текущия ден в MySQL?

  4. '0000-00-00 00:00:00' не може да бъде представен като java.sql.Timestamp грешка

  5. Създаване на mysql таблица директно от CSV файл с помощта на CSV Storage двигателя?