Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL左连接计数(*)问题_Sql_Mysql_Count_Left Join_Zero - Fatal编程技术网

SQL左连接计数(*)问题

SQL左连接计数(*)问题,sql,mysql,count,left-join,zero,Sql,Mysql,Count,Left Join,Zero,我有以下疑问: SELECT products_categories.categoryID, name, COUNT(*) AS itemCount FROM products_categories LEFT JOIN products_to_categories ON products_to_categories.categoryID = products_categories.categoryID GROUP BY products_categories.categoryID 但仍然存在一

我有以下疑问:

SELECT products_categories.categoryID, name, COUNT(*) AS itemCount
FROM products_categories
LEFT JOIN products_to_categories ON products_to_categories.categoryID = products_categories.categoryID
GROUP BY products_categories.categoryID
但仍然存在一个问题:没有产品的类别返回
itemCount=1
,而不是
0
。我怎样才能解决这个问题

COUNT(products_to_categories.categoryID)
询问
COUNT(*)
至少会得到1,因为毕竟有1行。特定的计数需要特定的处理。

您是否尝试将
计数(products\u to\u categories.categoryID)作为itemCount
?我不是很确定,但我认为问题可能在于
COUNT(*)

选择产品\u categories.categoryID、name、COUNT(*)作为itemCount
从产品类别
在products\u to\u categories.categoryID=products\u categories.categoryID上左键连接products\u to\u categories
按产品类别分组。类别ID
其中itemCount“0”

尝试
计数(产品名称)
或其他任何方法,而不是
计数(*)

而不是左键连接只需使用JOIN@YoK谢谢你的建议。你能解释一下为什么在这种情况下加入会更好吗?
SELECT products_categories.categoryID, name, COUNT(*) AS itemCount
FROM products_categories
LEFT JOIN products_to_categories ON products_to_categories.categoryID = products_categories.categoryID
GROUP BY products_categories.categoryID
WHERE itemCount <> '0'