0

私のcategoriesテーブルには、、、がcat_idありcat_nameますcat_slug。私が持っているテーブルitemsには: item_title, item_id, item_category.

`item_category` = `cat_id`

次の SQL を使用して、「すべての」カテゴリとそれらのアイテム数を取得しています。

SELECT *, COUNT(`item_id`) 
FROM `menu_categories` 
    JOIN `menu_items` ON `item_category` = `cat_id` 
GROUP BY `item_category`

categoriesしかし、空、つまりcategoriesアイテムなしでは表示されません。

4

2 に答える 2

4

LEFT JOIN代わりに使用する必要がありますJOIN

SELECT *, COUNT(`item_id`) 
FROM `menu_categories`
  LEFT JOIN `menu_items` ON `item_category` = `cat_id`
GROUP BY `item_category`

A Visual Explanation of SQL Joins をご覧ください

于 2012-08-29T12:03:32.997 に答える
3

左結合を使用する

SELECT *, COUNT(`item_id`) 
FROM `menu_categories` 
    LEFT JOIN `menu_items` 
        ON `item_category` = `cat_id` 
GROUP BY `item_category` 
于 2012-08-29T12:03:52.080 に答える