0

ストックカードとストックカテゴリの表があります。

カテゴリを表示し、このカテゴリで開かれているストックカードの数を表示したいと思います。

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' 明らかに私は間違いを犯しています。

4

3 に答える 3

0

次のようなもので試してください:

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

于 2012-05-07T16:52:07.143 に答える
0
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 
于 2012-05-07T16:52:10.950 に答える
0

fはSELECTCOUNT(b.stockID)の結果のエイリアスです...したがって、fには列がありません

于 2012-05-07T16:56:38.990 に答える