2009-12-08 3 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'" –

+0

. ya я понял, спасибо – silverkid

ответ

4

Что об использовании OR?

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

Вы можете узнать больше об использовании AND и OR в SQL запросов here.

Исходный вопрос включал условие WAP LIKE 'NULL'. Правильное обозначение WAP IS NULL "и не WAP LIKE 'NULL'; Null не текст NULL но a special, none-textual value

+0

спасибо большое оба ответа верны – silverkid

+1

Конечно, «WAP IS NULL» - единственная действительная нотация. Я думаю, вы должны исправить ваш SQL, чтобы быть прав и указать на изменение вашего комментария. В противном случае, нечеткий читатель мог скопировать ваш недопустимый SQL выше, а затем задаться вопросом, почему он не работает для них. –

+0

Изменены и добавлены ссылки на «NULL (SQL)» в википедии. –

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

Адам был первым, возможно, вы могли бы принять его ответ .... –

+1

+1 для того, чтобы быть джентльменом. –

+0

SQL недействителен, так как «LIKE 'NULL» ничего не будет соответствовать. Вы хотите «WAP Is Null». Я задержусь вниз, пока вы это не исправите. –

Смежные вопросы