我是mysql的新手,为了学习我正在使用w3schools的示例数据库。在这个过程中,我想创建一个视图,它将为每个供应商列出供应商名称、供应商不同产品的计数(PCount)、供应商不同产品类别的计数(CCount)。
这是我的桌子结构
Suppliers Products
-------------------- ----------------------------
SupplierID ProductID
SupplierName ProductName
ContactNumber SupplierID
Address CategoryID
City Unit
PostalCode Price
Country
Phone我试过的是
SELECT s.SupplierName, COUNT(DISTINCT(p.ProductID)) as PCount, COUNT(DISTINCT(p.CategoryID)) as CCount FROM Suppliers as s
right join Products as p
on s.SupplierID = p.SupplierID这只是给我一个单一的SupplierName,不是所有的供应商的细节与不同的产品和不同的类别。
任何帮助都将不胜感激。
发布于 2020-04-26 06:32:47
试试看:
SELECT s.SupplierName,
COUNT(p1.ProductID) AS PCount,
COUNT(DISTINCT p2.CategoryID) AS CCount
FROM Suppliers s
LEFT JOIN Products p1 ON s.SupplierID=p1.SupplierID
LEFT JOIN Products p2 ON s.SupplierID=p2.SupplierID
GROUP BY s.SupplierName
ORDER BY s.SupplierNamehttps://stackoverflow.com/questions/61436592
复制相似问题