私は少し異なる情報を表示するために微調整したいクエリがあります。 現在、ほとんどのコンバージョンが上位にある商品でランク付けされた商品をすべてのオーダーに表示します。ここで はクエリです:私は、結果として持っている何名前によるSQLクエリの照会
SELECT nopv.ProductVariantID, COUNT(nopv.ProductVariantID), p.ProductId, c.CategoryID, c.Name FROM Nop_OrderProductVariant nopv
INNER JOIN Nop_ProductVariant npv
ON nopv.ProductVariantID = npv.ProductVariantId
INNER JOIN Nop_Product p
ON npv.ProductID = p.ProductId
INNER JOIN Nop_Product_Category_Mapping npcm
ON p.ProductId = npcm.ProductID
INNER JOIN Nop_Category c
ON npcm.CategoryID = c.CategoryID
GROUP BY nopv.ProductVariantID, p.ProductId, c.CategoryID, c.Name
HAVING COUNT(*) > 0
ORDER BY COUNT(nopv.ProductVariantID) DESC
は次のとおりです。
私はカテゴリごとに一つだけの時間を持つことができるようにしたい、例えば「プログラマー&モジュール」カテゴリは、そのカテゴリ内のすべてのproductvariantIDの合計を含む1つのレコードのみである必要があります。最初のフィールドも避けることができます。なぜなら、複数の製品バリアントがある場合、クエリでは1つだけを表示する必要があるからです。私が本当に必要とするのは、各カテゴリの数とcategoryIDです。その後
GROUP BY c.CategoryID, c.Name -- c.Name is here since you probably can't select it otherwise
あなたはそれが動作するあなたのSELECT
に必要な変更を行います。
GROUP BY nopv.ProductVariantID, p.ProductId, c.CategoryID, c.Name
試してみてください。事前に おかげで、Laziale
クエリが結果セットと一致しません。それは何ですか(No Column Name)? – StingyJack
@StingyJackクエリが更新されました。申し訳ありません – Laziale
質問の件名が内容と一致しません。注文を変更する必要がありますか? –