研究了两天的SQL,现在语句没有出现错误,但是很奇怪,产生的表和实际情况不同,有的会多几行,有的不多,不知道怎么回事。请看下图,这是用狐表的方法产生的正确的库存表:
此主题相关图片如下:正确的.png

这是用SQL产生的表,第一个产品没有多,但第二个产品就多了5行,后面的也是,有的多了,有的没多,不知道怎么回事?
此主题相关图片如下:不正确.png

SQL的语句如下:
s e lect 入库时间,{物料信息表}.产品名称,{物料信息表}.包装规格,{库存明细表1}.产品批号,{库存明细表1}.产品数量,ROUND(piao面价,2) as piao面价,IIF(成本价 > 0,ROUND(成本价 + ((s ele ct Sum(报销金额) from {报销明细表} where {报销明细表}.编号标注 = {订单明细表}.订单编号 and 销售 = 0)*{库存明细表1}.实收数量* IIF(成本价> 0,成本价,piao面价))/({订单主表}.总金额 * 实收数量),2),ROUND(IIF(((S el ect Sum(报销金额) from {报销明细表} where {报销明细表}.编号标注 = {订单明细表}.订单编号 And 销售 = 0)*{库存明细表1}.实收数量* IIF(成本价> 0,成本价,piao面价))/({订单主表}.总金额 * 实收数量)> 0,piao面价 + ((S el ect Sum(报销金额) from {报销明细表} where {报销明细表}.编号标注 = {订单明细表}.订单编号 And 销售 = 0)*{库存明细表1}.实收数量* IIF(成本价> 0,成本价,piao面价))/({订单主表}.总金额 * 实收数量),piao面价),2)) as 成本价,IIF(成本价> 0,ROUND(成本价 * {库存明细表1}.产品数量,2),ROUND(piao面价*{库存明细表1}.产品数量,2)) AS 库存金额,{订单明细表}.外币,{库存明细表1}.仓库名称,IIF({库存明细表1}.产品数量/{物料信息表}.包装系数> 1,ROUND({库存明细表1}.产品数量/{物料信息表}.包装系数,0),1) As 件数,{库存明细表1}._Identify FROM ((({库存明细表1} INNER JOIN {物料信息表} ON {库存明细表1}.MID = {物料信息表}._Identify) INNER JOIN {订单明细表} ON {库存明细表1}.订单编号 = {订单明细表}._Identify) INNER JOIN {报销明细表} ON {订单明细表}.订单编号 = {报销明细表}.编号标注) INNER JOIN {订单主表} ON {订单明细表}.订单编号 = {订单主表}._Identify where {库存明细表1}.所属公司 = 'aa' And {库存明细表1}.产品数量 > 0 ORDER BY 产品名称,入库时间
希望高指点,不胜感激!