gpt4 book ai didi

SQL - 连接两个表并计算项目

转载 作者:行者123 更新时间:2023-12-04 00:51:11 25 4
gpt4 key购买 nike

好的,我想看看每个供应商提供了多少产品(产品和供应商是单独的表)。我希望结果与公司名称和公司可用的产品数量一起显示。我不确定如何设置它。

到目前为止,我有:

SELECT CompanyName, Count(ProductName) FROM Suppliers 
left join Products on Suppliers.SupplierID = Products.SupplierID;

我不确定如何使 ProductName 计数特定于每个公司。如果您能给我提供任何帮助,我将永远感激不尽。

最佳答案

您所缺少的只是一个 GROUP BY 子句:

SELECT CompanyName, Count(ProductName)
FROM Suppliers LEFT JOIN Products
ON Suppliers.SupplierID = Products.SupplierID
GROUP BY CompanyName;

使用 LEFT {OUTER} JOIN 意味着如果存在不提供任何产品的供应商,则连接将为 Products 表对应的列返回一组 NULL 值。然后 COUNT(ProductName) 只计算非空值的数量,从而为不提供产品的公司生成答案 0。很多时候,您会使用常规的 INNER JOIN,然后您将看不到不提供产品的公司。

关于SQL - 连接两个表并计算项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com