2015-12-03 97 views
0

我有下面的代碼,我想在一段時間內看到UPC的銷售情況。正如你所看到的,我有Select Distinct來啓動,但它仍然顯示同一個UPC的多個條目。選擇不同的顯示同一記錄的多個值

我希望它顯示UPC,然後總結該UPC的值,如果有多個。 任何見解?

我有下面的代碼。 我收到了「Group By」評論,因爲每次我嘗試通過UPC進行分組時,它都會向我展示一個錯誤,指出「所選的非聚合值必須是關聯組的一部分」。

SELECT DISTINCT ir.region, 
       ir.upc, 
       ir.item_long_description, 
       ir.team_name, 
       ir.subteam_name, 
       brand, 
       p.sale_units, 
       p.sale_value 
FROM prd_sales_cost_summary_v p 
     JOIN item_region_v ir 
     ON p.upc = ir.upc 
      AND p.pos_dept = ir.pos_dept --AND p.store_number = ir.store_number 
WHERE ir.subteam_name = 'Frozen' 
     AND 
     --prd_idnt BETWEEN 201601 AND 201602 AND 
     prd_idnt = 201601 
     AND 
     --Change the region if needed 
     ir.region = 'RM' 
--GROUP BY 2 
ORDER BY p.sale_units DESC 

回答

3

「選定的非集合值必須是相關聯的組的一部分。」

這意味着如果你把一個字段放在SELECT列表中,你必須把它放在組上。

所以

SELECT fieldA, fieldB, fieldC, SUM(*) 
FROM YourTable 
GROUP BY fieldA, fieldB, fieldC 

還要注意你的選擇沒有任何agreagation功能COUNT()SUM()AVG()

+0

你是絕對正確的。我有銷售單位和價值的Sum(),但沒有結轉。無論如何,使用你有的邏輯,它現在正在工作。 –

相關問題