我有股票卡和股票类别表。
我想显示类别并显示在此类别下打开了多少张库存卡。
SELECT a.stockCatID, a.stockCatName, f.nProductsInside
FROM stockcategories a
LEFT JOIN
(
SELECT COUNT(b.stockID) AS nProductsInside
FROM stockcards b
)
f ON a.stockCatID = f.stockCatID
好吧,它返回#1054 - Unknown column 'f.stockCatID' in 'on clause'
显然我犯了一个错误。
SELECT a.stockCatID, a.stockCatName, COUNT(b.stockID) as nProductsInside
FROM stockcategories a
LEFT JOIN stockcards b ON a.stockCatID = b.stockCatID
group by a.stockCatID
您可能也可以这样做(未经验证)ni 顺序以坚持您的查询
SELECT a.stockCatID, a.stockCatName, f.nProductsInside
FROM stockcategories a
LEFT JOIN
(
SELECT COUNT(b.stockID) AS nProductsInside, stockCatID
FROM stockcards b
)
f ON a.stockCatID = f.stockCatID
尝试如下内容:
SELECT a.stockCatID, a.stockCatName, COUNT(b.stockID) AS nProductsInside
FROM stockcategories a
LEFT JOIN stockcards b ON a.stockCatID = b.stockCatID
GROUP BY a.id
其中a.id
是stockcategories
表中的主键
f 是 SELECT COUNT(b.stockID)...所以 f 没有列