2010-01-05 1 views
0

Вот мой SQL заявление:Как я могу выполнить сравнение, когда второй является подбором, который возвращает несколько значений?

SELECT DISTINCT a.* 
    FROM OWU_Nomination as a, 
     Merchants as b WHERE a.CallFlag = 'False' 
    AND a.nominatedDate < DateAdd(hour, -24, getdate()) 
    AND a.email != (SELECT c.Email from Members as c where c.MemberID = b.MemberID) 

Проблема здесь состоит в том, что к югу от выбора после a.email != возвращает несколько записей. Я хотел бы узнать, есть ли a.email в любом из писем, возвращенных из подзаголовка, возможно ли это? Есть ли функция Содержит или что-то подобное, что это сделает?

ответ

2

С вашего вопроса, я не уверен, хотите ли вы, чтобы он был в комплекте или нет в комплекте.

Если он должен быть в наборе, используйте этот пункт:

AND a.email IN (SELECT c.Email from Members as c where c.MemberID = b.MemberID) 

иначе:

AND a.email NOT IN (SELECT c.Email from Members as c where c.MemberID = b.MemberID) 
+0

работал отлично, спасибо! – Matt