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

ляво присъединяване, умножаване на стойности

Моят шок е подзаявка:

select count(capture_id) as count_captures, 
    (select count(id) as count_items
         from items i where i.creator_user_id = captures.user_id) as count_items 
from captures 
where user_id = 9

Не съм много сигурен какво можете да направите, за да избегнете това. Виждате очаквано (и като цяло желано поведение).

Разбира се, ако знаете, че идентификационните номера и в двата няма да се повтарят, можете да използвате различен:

SELECT COUNT( DISTINCT capture_id) as count_captures, 
      COUNT( DISTINCT items.id) as count_items 
FROM captures 
LEFT JOIN items ON captures.user_id = items.creator_user_id 
    WHERE user_id = 9


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пребройте броя на под таговете от XML в SQL

  2. Показване на конкретно изображение в зависимост от конкретен текст в MySQL таблица с помощта на PHP

  3. Как да ограничим включването в асоциация на ownsToMany в Sequelize JS?

  4. Има ли различен начин за изпълнение на тази програма без използване на вложен цикъл while?

  5. Как да се свържа с MySQL сървър на друг хост?