2009-12-08 51 views
0

在MS-Access数据库表称为NewTable3我可以将这些更新查询到一个查询

我可以结合这3个SQL查询到一个查询

UPDATE NewTable3 SET SAO = '0' WHERE SAO LIKE '-'; 
UPDATE NewTable3 SET SAO = '0' WHERE SAO LIKE 'NULL'; 
UPDATE NewTable3 SET SAO = '0' WHERE SAO LIKE 'NA'; 
+0

顺便说一句,我认为正确的符号是 ”IS NULL“,而不是 ”LIKE 'NULL'“ – 2009-12-08 07:31:31

+0

。遐我想通了,谢谢 – silverkid 2009-12-08 07:38:45

回答

4

怎么样使用OR

UPDATE NewTable3 
SET SAO = '0' 
WHERE (WAP LIKE '-') OR (WAP IS NULL) OR (WAP LIKE 'NA'); 

您可以了解更多关于SQL使用ANDOR查询here

原始问题包括条件WAP LIKE 'NULL'。正确的符号是WAP IS NULL“,而不是WAP LIKE 'NULL';空是不是文本NULLa special, none-textual value

+0

非常感谢这两个答案都是正确的 – silverkid 2009-12-08 07:09:18

+1

当然“WAP IS NULL”是唯一有效的表示法,我认为你应该修正你的SQL是正确的,并指出你的评论中的变化,否则,不小心的读者可能会复制上面的无效SQL,然后想知道为什么它们不适合他们。 – 2009-12-08 22:50:29

+0

在wikipedia中更改并添加了“NULL(SQL)”链接 – 2009-12-09 08:11:50

4
UPDATE NewTable3 
SET SAO = '0' 
WHERE (WAP LIKE '-') OR (WAP IS NULL) OR (WAP LIKE 'NA'); 
+0

Adam是第一个,也许你可以接受他回答.... – 2009-12-08 07:09:30

+1

+1是一个绅士。 – 2009-12-08 07:20:41

+0

SQL无效,因为“LIKE'NULL'”根本不匹配。你想要“WAP是空的”。我会暂时停下来,直到你解决它。 – 2009-12-08 22:49:21

相关问题