访问查询中出错所需的更正

时间:2013-03-31 02:31:11

标签: ms-access

我想创建一个表[Top Stores],在销售产品数量方面有10个最活跃的商店。每家商店出售3种产品。我只需要为每个产品添加销售数量即可到达StoreSale。 问题是当产品没有销售时,数量值留空而不是0. 我尝试通过isnull测试将空白更改为0。请在下面的代码中指出错误:

SELECT top 10  StoreName, StoreSale = (iif (isnull(Product1), 0, Product1) + iif (isnull(Product2), 0, Product2) + iif (isnull(Product3), 0, Product3)) INTO [Top Stores]
FROM SaleTable ORDER BY StoreSale DESC;

1 个答案:

答案 0 :(得分:1)

两件事:

  1. 如果您使用=,您将进行相等测试,您不能在SQL中进行类似的任务。
    您需要将计算结果命名为AS StoreSale

  2. 当字段值为Nz()

  3. 时,使用0.00获取NULL

    结果:

    SELECT TOP 10 StoreName,
                  Nz(product1) + Nz(Product2) + Nz(Product3) AS StoreSale
    INTO   [Top Stores]
    FROM   SaleTable
    ORDER  BY StoreSale DESC;