Sql 如何选择记录数,然后通过外键将其分组?
我有两张桌子:产品和供应商。SupplierID是products表中的外键。我需要做一个表,其中包含国家,供应商ID,公司名称所有从供应商表,然后我需要有每个供应商的产品数量。我尝试了以下查询:Sql 如何选择记录数,然后通过外键将其分组?,sql,select,count,Sql,Select,Count,我有两张桌子:产品和供应商。SupplierID是products表中的外键。我需要做一个表,其中包含国家,供应商ID,公司名称所有从供应商表,然后我需要有每个供应商的产品数量。我尝试了以下查询: SELECT DISTINCT s.country, s.supplierid, s.companyname, (SELECT Count(DISTINCT productid) AS
SELECT DISTINCT s.country,
s.supplierid,
s.companyname,
(SELECT Count(DISTINCT productid) AS
"Number of Products Supplied"
FROM products
INNER JOIN suppliers
ON p.supplierid = s.supplierid) AS
"Number of products Supplied"
FROM suppliers s,
products p
WHERE ( s.country = 'usa'
OR s.country = 'uk' )
AND s.supplierid = p.supplierid
但我得到的是产品总数,而不是每个供应商提供的产品数量。有什么想法吗
SELECT s.country, s.supplierid, s.companycame, Count(*) AS Number_of_Products_Supplied
FROM suppliers s
JOIN products p ON s.supplierid=p.supplierid
WHERE s.country IN ('usa', 'uk')
GROUP BY s.country, s.supplierid, s.companycame
如果我理解你的问题,我想这应该是你想要的。请停止混合隐式和显式
JOIN
语法。