繁体   English   中英

库存SQL查询的歧义错误,其中两个字段应相等以进行计算。 MS-ACCESS

[英]Getting ambiguity error for a inventory SQL query where two fields should be equal to make the calculation. MS-ACCESS

有了这个简单的表组 ,我想进行清单区分不同供应商提供的同等产品,但是我在运行查询时遇到了“歧义错误”,尽管它可以工作。 我不知道该怎么解决。

这是我尝试过的查询:

SELECT tblProducts.product_Name, 
       tblProviders.provider, 
       Nz(Sum(tblIntakes.intake_QTY),0)-
       Nz(Sum(tblExits.exit_QTY)) AS Stock

FROM tblProviders, 
     (tblProducts LEFT JOIN 
     tblExits 
     ON tblProducts.product_ID = tblExits.product_ID
     ) LEFT JOIN 
     tblIntakes 
     ON tblProducts.product_ID = tblIntakes.product_ID

GROUP BY tblProducts.product_Name, tblProviders.provider;

在这种情况下,您可以使用子查询:

SELECT
  tblProducts.product_Name,
  tblProviders.provider,
  Nz((
    SELECT SUM(intake_QTY)
    FROM tblIntakes
    WHERE
      tblIntakes.product_ID = tblProducts.product_ID AND
      tblIntakes.provider_ID = tblProviders.provider_ID
  ), 0) -
  Nz((
    SELECT SUM(exit_QTY)
    FROM tblExits
    WHERE
      tblExits.product_ID = tblProducts.product_ID AND
      tblExits.provider_ID = tblProviders.provider_ID
  ), 0) AS Stock
FROM tblProviders, tblProducts;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM