sql >> Database >  >> RDS >> Mysql

Genest setmodel, tel items in categorieën

Klinkt als een taak voor LEFT OUTER JOIN voor mij, zoals:

SELECT parent.name, COUNT(product.item_id), 
       (select count(*) from Category parent2 
         where parent.lft > parent2.lft
           and parent.rgt < parent2.rgt) as depth
  FROM Category parent
  LEFT OUTER JOIN Category node 
    ON node.lft BETWEEN parent.lft AND parent.rgt
  LEFT OUTER JOIN Item_Category product
    ON node.category_id = product.category_id
 GROUP BY parent.name
 ORDER by node.lft

Zo zorg je ervoor dat alle categorieën worden getoond. Merk op dat ik niet 100% zeker ben.

EDIT:Sub-select toegevoegd voor diepte, probeer het eens.

EDIT:komma verwijderd




  1. SQL Server - Een tabel vergrendelen totdat een opgeslagen procedure is voltooid

  2. Configuratie met hoge beschikbaarheid voor ClusterControl-knooppunten met behulp van CMON HA

  3. Hoe een kolom wijzigen en de standaardwaarde wijzigen?

  4. PL/SQL Bulk Collect met LIMIT-clausule in Oracle Database