我在以下查询中不断收到聚合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搜索关于使用虚拟表格对其进行分组这是我提出的问题,但我只是不知道如何加入自我教学所以试图弄清楚
答案 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。如果不是,那么只需删除该组。