我有以下表格:
我想显示此类别中的类别名称和产品数量。
每个产品都有一个项目编号(不唯一)和一个子项目编号(唯一)。将使用子项目编号 对于同一产品的不同颜色/类型。
我有以下脚本:
<?php
$sql= $db->prepare("
SELECT *,
COUNT(DISTINCT Products_itemnumber) AS Products_total
FROM
Category_sub,
Products_category,
Products
WHERE
Subcategory_maincatid=:cat_id
AND Subcategory_id=Products_categories_category_id
AND Products_categories_product_id_id=Products_id
GROUP BY Subcategory_name
");
$sql->bindValue(':cat_id', $_GET['cat_id'], PDO::PARAM_INT);
$sql->execute();
$sql_fetch= $sql->fetchAll(PDO::FETCH_ASSOC);
foreach($sql_fetch as $category) {
echo $category['Subcategory_name'] ."(". $category['Products_total'] .")<br />";
}
?>
上述脚本无法正常运行。我有两个产品具有相同的itemnumber,脚本应该 把它算作一种产品。上面的脚本正在计算两种产品。
答案 0 :(得分:0)
select Subcategory_name, COUNT(*)
from Category_sub
JOIN Products_categories ON Products_categories_category_id = Subcategory_id
JOIN Products ON Products_id = Products_categories_product_id
group by Subcategory_name