AND条件在Access for WHERE中不起作用

时间:2018-05-17 17:36:13

标签: sql ms-access

我有以下查询,我希望将null的总数设置为$ 0,但问题是总列中的某些行只是空白,并且不应设置为零,因为它们是'只是在电子表格中断。因此,我尝试将总计为空的设置为$ 0,其中也是总列旁边的列中的组编号。

这是我的查询

UPDATE COBCoversheet, COVERSHEET1 
SET Total = '$0.00'
WHERE (COBCoversheet.Number = COVERSHEET1.Field1) 
  AND (COBCoversheet.Total IS NULL);

我也试过了,

UPDATE COBCoversheet 
INNER JOIN COVERSHEET1 
   ON COBCoversheet.Number = COVERSHEET1.Field1 
SET Total = '$0.00'
WHERE (COBCoversheet.Number = COVERSHEET1.Field1) 
  AND (COBCoversheet.Total IS NULL)

都没有奏效。我不是SQL大师,但我觉得我知道很多,所以任何解释都会有所帮助!谢谢。

2 个答案:

答案 0 :(得分:0)

UPDATE COBCoversheet 
INNER JOIN COVERSHEET1 ON COBCoversheet.Number = COVERSHEET1.Field1 
SET Total = '$0.00'
WHERE COBCoversheet.Total IS NULL

如果它说"即将更新0行"然后你的数据出现问题,它没有作为NULL值进行验证(可能是空格或空值)

答案 1 :(得分:0)

更新:我在删除总计之前用新总计重置它们。为了避免出现空的情况,我只是按原样导入了电子表格(空值= $ - ),我做了

UPDATE COBCoversheet SET Total = '$0.00' WHERE Total = '$-';

因此,只要导入的电子表格总是有$ - $ 0,那么我应该很好地运行查询。谢谢大家!!