发货统计表中发货金额≠发货本币金额杨艳问题现象:没有外币核算,发货统计表中过滤,发现有部份存货的发货金额≠发货金额本币同时引申出另一个问题,发货数量与实际不一致问题再现分别增加三张存货a的发货单,如下:然后查询就会出现前面所述的问题现象,而且可以看出三张发货单发货数量合计为35,但通过当前查看发货数量只有25个,这就会想到分组汇总,同时将发货单号显示出来。经测试发现分组汇总选择的是存货名称、发货数量与发货金额问题分析可以看出由于发货单3和5的数量都为10,且金额也都为10,满足分组汇总条件(存货名称、发货数量、发货金额),于是将此两张发货单合并,且发货单号显示的是后张单据号,但是为什么数量与发货金额没有进行汇总,而其他项目像:发货金额本币就进行了汇总呢???而另一张发货单4的数量为15,金额为30,没有汇总,此时其发货金额=发货金额本币SQL跟踪SELECTmax([部门])as[部门],max([客户])as[客户],max([业务员])as[业务员],max([业务类型])as[业务类型],max([销售类型])as[销售类型],max([币种])as[币种],max([存货编码])as[存货编码],max([日期])as[日期],max([发退货单号])as[发退货单号],max([仓库])as[仓库],max([存货代码])as[存货代码],[存货名称],sum([期初件数])as[期初件数],max([规格型号])as[规格型号],max([批号])as[批号],…………………………sum([期初折扣本币])as[期初折扣本币],[发货数量],sum([发货件数])as[发货件数],[发货金额],sum([发货金额本币])as[发货金额本币],sum([发货税额])as[发货税额],sum([发货税额本币])as[发货税额本币],sum([发货价税合计])as[发货价税合计],sum([发货价税合计本币])as[发货价税合计本币],sum([发货折扣])as[发货折扣],sum([发货折扣本币])as[发货折扣本币],sum([开票数量])as[开票数量],sum([开票金额])as[开票金额],…………………………sum([数量差异])as[数量差异],sum([件数差异])as[件数差异],sum([金额差异])as[金额差异],sum([税额差异])as[税额差异],sum([价税合计差异])as[价税合计差异],sum([折扣差异])as[折扣差异],sum([金额差异本币])as[金额差异本币],sum([税额差异本币])as[税额差异本币],sum([价税合计差异本币])as[价税合计差异本币],sum([折扣差异本币])as[折扣差异本币],max([关闭标志])as[关闭标志],max([合同编码])as[合同编码],max([合同标的编码])as[合同标的编码],max([cDepCode])as[cDepCode],max([cstcode])as[cstcode],max([cCusCode])as[cCusCode],max([供应商])as[供应商],max([cPersonCode])as[cPersonCode]FROMtempdb..Sa_TmpOutDetail_YANGYAN0GROUPBY[存货名称],[发货数量],[发货金额]将语句在查询分析器中执行,结果如下:结果同销售发货统计表跟踪出的语句很多,但是结构非常简单。通过语句分析,GroupBy为分组汇总列,且只要将某一列进行了分组汇总,那么查询时就不会将其进行汇总求和Sum(),且汇总时都是选择最大值显示,例如发货单号将3和5合并时,发货单号是以5来显示。所以此情况,建议用户只选择存货名称汇总,结果就没有什么异议结论分组汇总时建议用户不要选择与数量和金额有关的列进行汇总,否则汇总时此列并不进行汇总求和,这样查看报表时可能数据就会不准确,而且选择数量和金额分组汇总并没有实际的意义谢谢谢!谢!