2015-12-03 65 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(),但没有结转。无论如何,使用你有的逻辑,它现在正在工作。 –

相关问题