我是一个新手并坚持这个案子 我有两张桌子
类别 - CatId - CatName
产品 - ProductId - CatId - ProductName
我想计算在使用计数产品显示类别和使用此查询时的类别中的产品数量
SELECT * , COUNT(Product.ProductId) AS NumberProducts FROM Category
JOIN Product
ON Category.CatId = Product.CatId
GROUP BY Product.CatId
这个查询只是工作,如果我的产品存在与表产品中的catid,如果不是我的类别不会显示在类别列表中,类别将消失。
请帮忙。提前谢谢
答案 0 :(得分:0)
SELECT * , COUNT(Product.ProductId) AS NumberProducts FROM Category
LEFT JOIN Product
ON Category.CatId = Product.CatId
GROUP BY Product.CatId
左连接应该做的伎俩
答案 1 :(得分:0)
选择*是问题 - 您正在寻找类别和产品数量列表。
你会得到你所要求的。 (c和p是使SQL更具可读性的别名)
SELECT c.*, COUNT(p.ProductId) AS NumberProducts FROM Category as c
LEFT JOIN Product as p
ON c.CatId = p.CatId
GROUP BY c.CatId
可生产
CatId CategoryName NumberProducts
1 T-Shirts 2
2 Sneakers 0
3 Boots 0
希望有所帮助。