sql >> データベース >  >> RDS >> Mysql

入れ子集合モデル、カテゴリ内のアイテムを数える

    私には、LEFT OUTER JOINのタスクのように聞こえます:

    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
    

    これにより、すべてのカテゴリが表示されるようになります。 100%確信が持てないことに注意してください。

    編集:深さの副選択を追加しました。試してみてください。

    編集:カンマを削除




    1. VS2010でMySQLの日付/時刻値をSystem.DateTimeに変換できません

    2. CSVからMySQLv5に新しいテーブルをインポートする最も簡単な方法は何ですか?

    3. ドロップダウンボックスで選択したアイテムを設定するにはどうすればよいですか

    4. なぜsqlplusが接続しないのですか?