sql >> Databáze >  >> RDS >> Mysql

MySQL – spojování a počítání řádků z jiné tabulky

Existuje několik možných možností, jedna z nich:

SELECT * ,
  (SELECT count(*)
   FROM `table_votes`
   WHERE `children`.`id` = `table_votes`.`child_id`) AS `Count`
FROM `children`
WHERE `parent_id` = 20

Můžete také použít svůj dotaz, ale budete muset přidat GROUP BY :

SELECT  
 `children`.`id`,  
 `children`.`data`,  
 `children`.`parent_id`,  
 `children`.`timestamp`,  
 COUNT(`v`.`children_id`)  
FROM `children` LEFT JOIN `table_votes` `v` ON `children`.`id` = `v`.`child_id`  
WHERE `children`.`parent_id` = 20 
GROUP BY `children`.`id`, `children`.`data`, `children`.`parent_id`, `children`.`timestamp`,
ORDER BY `timestamp` ASC


  1. Klauzule IN v mysql nodejs

  2. Postgres:převod jednoho řádku na více řádků (unpivot)

  3. Dva dotazy mysql v jednom objektu json

  4. Jak změnit heslo root MySQL na výchozí?