2015-02-05 1 views
0

Я использую MySQL, у меня есть таблица mtn_extract_list_email где есть столбцы называются компания, офис, электронная почта, страна и рейтингMySQL запросов выборки различных данных, чем ожидалось

Я не хочу электронные письма, которые имеют домены AOL, Gmail, Google

запрос я использую

select email from mtn_extract_list_email where (company like '%XYZ%' or office like '%XYZ%') 
and (email not like '%@aol%' or email not like '%@gmail%' or email not like '%@google%') 
and (Country = 'USA' and rating like 'A%') 
and email is not null; 

этот запрос извлекает данные, но я заметил, что он также принес одно письмо с @gmail в домене. Я попытался настроить логику «И» и «или», но все равно не повезло. пожалуйста, сообщите, что не так с моим запросом.

+1

Пожалуйста, измените название вопроса на то, что описывает фактическую проблему, с которой вы сталкиваетесь. * Запрос не работает Как мне понравилось * не будет иметь абсолютно никакого смысла, если он появится в результатах поиска для будущего пользователя этого сайта. Ваше название должно быть описательным; ясно, что ваш запрос работает не так, как вам хотелось бы, или вы не будете публиковать здесь вопрос. –

+1

Вы не хотите доменов в aol, и вы не хотите gmail, и вы не хотите google. Проблема в том, что ваш запрос использует 'OR'. – LSerni

+0

(электронная почта не нравится «% @ aol%» И электронная почта не нравится «% @ gmail%», а электронная почта не нравится «% @ google%») –

ответ

1

Вы используете или вместо, и.

select email from mtn_extract_list_email 
     where (company like '%XYZ%' or office like '%XYZ%') 
     (email not like '%@aol%' AND email not like '%@gmail%' AND email not like '%@google%') 
     and (Country = 'USA' and rating like 'A%') 
     and email is not null; 
Смежные вопросы