SQL Query也可以获得空类别

编程入门 行业动态 更新时间:2024-10-25 20:17:44
本文介绍了SQL Query也可以获得空类别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在我的类别表中,我有: cat_id , cat_name , cat_slug 。 在表格项目中,我有: 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`

但它没有显示空类别,即类别不包含项目。

解决方案

您需要使用 LEFT JOIN 而不是 JOIN

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

查看 SQL连接的可视化解释。

In my categories table I have: cat_id, cat_name, cat_slug. In the table items I have: item_title, item_id, item_category.

`item_category` = `cat_id`

I'm using the following SQL to get "all" categories and how many items they have:

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

But it doesn't show empty categories, i.e. categories without items.

解决方案

You need to use LEFT JOIN instead of JOIN

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

Have a look at A Visual Explanation of SQL Joins.

更多推荐

SQL Query也可以获得空类别

本文发布于:2023-11-15 22:53:07,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:可以获得   类别   SQL   Query

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!