SQL несколько эксклюзивных, как - PullRequest
0 голосов
/ 09 декабря 2010

Я пытаюсь исключить выбранные строки на основе первой буквы столбца. I.e Все строки, в которых столбцы 'col' не начинаются с Y, A или B.

 SELECT * 
 FROM tbl 
 WHERE col NOT LIKE 'Y%' 
   AND col NOT LIKE 'A%' 
   AND col NOT LIKE 'B%'

Я пробовал некоторые варианты, такие как использование ИЛИ вместо AND или что-то вроде:

SELECT * 
FROM tbl 
WHERE col NOT IN ('Y%', 'A%', 'B%')

Никто из них не дает мне ожидаемых результатов,

1009 * БЛАГОДАРЯ *

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Извините, но я обнаружил, что использую MS-Access SQL, который отличается от MySQL. Подстановочный знак % не работает для MS Access

Это была просто ошибка. Таким образом, исправленная версия этого SQL:

SELECT * 
FROM tbl 
WHERE col NOT LIKE 'Y*' 
AND col NOT LIKE 'A*' 
AND col NOT LIKE 'B*'

С уважением,

0 голосов
/ 09 декабря 2010

Ваш первый пример должен работать - можете ли вы опубликовать пример того, что не так с результатами?Второй пример, очевидно, не будет работать.

Большинство баз данных также поддерживают фильтрацию по регулярным выражениям, вы можете взглянуть на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...