0
SELECT a.UPC,COUNT(*)
FROM StoreTransactions a WITH (NOLOCK)
JOIN StoreTransactions_Expanded_UOM c
ON a.StoreTransactionID = c.StoreTransactionID
LEFT JOIN ProductCatalog cat
ON a.ProductID = cat.ProductID
LEFT JOIN ProductCatalogBase base
ON cat.ProductCatalogID = base.ProductCatalogID
JOIN ProductIdentifiers d
ON cat.ProductID = d.ProductID AND d.ProductIdentifierTypeID = 2
GROUP BY a.UPC
, d.IdentifierValue, cat.PackDesc, a.ReportedCost,
base.ManualHigh, base.ManualLow,cat.DateTimeCreated,cat.DateTimeLastUpdate
ORDER BY count(*) desc
UPCに対応するUPCの数をカウントしたいが、以下のように正しい結果が得られない。対応する項目数が表示されます。
UPC Count
071990316006 1463
026565245455 4530
なぜあなたはすべてのこれらの列によってグループ化されていますか?あなたはa.UPCだけでグループ化するべきです。なぜNOLOCKですか? http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
@SeanLangeと同意します。あなたが 'UPC'の数だけを望むならば、' Group By a.UPC'だけです。 'Group By'の他の列を削除してください。 –
また、LEFT JOIN ProductCatalog cat'というテーブルで 'JOIN ProductIdentifiers'を実行します。これはあなたに不確定な結果を与える可能性があります。 –