sql server group by clause错误

时间:2017-01-17 23:50:21

标签: sql-server

我在以下查询中不断收到聚合group by子句错误。我是SQL新手,无法弄明白。由于JDEppsin表,我不断获得重复记录,并且不会有明确的条款。

SELECT 
      JDEWorkOrderIn_LastImport.WorkOrderNumber,
      JDEWorkOrderIn_LastImport.Quantity,
      JDEWorkOrderIn_LastImport.LineNumber,  
      JDEWorkOrderIn_LastImport.SKU,
      JDEWorkOrderIn_LastImport.SKUDesc1,
      JDEWorkOrderIn_LastImport.SKUDesc2,
      arc_JDEPPSIn.PalletSheet,
      arc_JDEPPSIn.PalletConfigDesc,
      arc_JDEPPSIn.LabelAlcVol,
      arc_JDEPPSIn.CartonInkjetCode,
      arc_JDEPPSIn.SpecialInstructions,
      JDEWorkOrderIn_LastImport.WAWR02
      FROM [WBPC_MES_Integration].[dbo].[arc_JDEPPSIn]
join [WBPC_MES_Integration].[dbo].[JDEWorkOrderIn_LastImport] on arc_JDEPPSIn.WorkOrderNumber = JDEWorkOrderIn_LastImport.WorkOrderNumber
where JDEWorkOrderIn_LastImport.startdate between getdate()-7 and getdate()+5
group by arc_JDEPPSIn.workordernumber 

我用Google搜索关于使用虚拟表格对其进行分组这是我提出的问题,但我只是不知道如何加入自我教学所以试图弄清楚

1 个答案:

答案 0 :(得分:1)

每当使用GROUP子句时,SELECT语句中的所有非聚合值(不是SUM,COUNT,AVG等等)都需要出现在group by语句中。尝试添加:

GROUP BY
JDEWorkOrderIn_LastImport.WorkOrderNumber,
JDEWorkOrderIn_LastImport.Quantity,
JDEWorkOrderIn_LastImport.LineNumber,  
JDEWorkOrderIn_LastImport.SKU,
JDEWorkOrderIn_LastImport.SKUDesc1,
JDEWorkOrderIn_LastImport.SKUDesc2,
arc_JDEPPSIn.PalletSheet,
arc_JDEPPSIn.PalletConfigDesc,
arc_JDEPPSIn.LabelAlcVol,
arc_JDEPPSIn.CartonInkjetCode,
arc_JDEPPSIn.SpecialInstructions,
JDEWorkOrderIn_LastImport.WAWR02

话虽如此,如果您没有聚合值,则不需要分组。如果你试图删除重复项,我会使用SELECT DISTINCT。如果不是,那么只需删除该组。