好吧,我正在尝试查看每个供应商提供的产品数量(产品和供应商是单独的表格).我希望结果显示公司名称和公司可用的产品数量.我不确定如何设置它.
到目前为止,我有:
SELECT CompanyName, Count(ProductName) FROM Suppliers
left join Products on Suppliers.SupplierID = Products.SupplierID;
Run Code Online (Sandbox Code Playgroud)
我不确定如何使ProductName计数特定于每个公司.我会永远感激你能提供给我的任何帮助.
Jon*_*ler 17
您缺少的只是GROUP BY子句:
SELECT CompanyName, Count(ProductName)
FROM Suppliers LEFT JOIN Products
ON Suppliers.SupplierID = Products.SupplierID
GROUP BY CompanyName;
Run Code Online (Sandbox Code Playgroud)
使用LEFT {OUTER} JOIN意味着如果有供应商不提供任何产品,则连接将为与Products表对应的列返回一组NULL值.然后,COUNT(ProductName)只计算非空值的数量,从而为不提供产品的公司产生答案0.通常情况下,您会使用常规的INNER JOIN,然后您就不会看到那些没有提供产品的公司.
| 归档时间: |
|
| 查看次数: |
38626 次 |
| 最近记录: |