不喜欢的SQL查询不起作用

时间:2014-01-27 10:45:30

标签: sql

select
    a.ID, a.FirstName, a.LastName, a.PhoneNumber,
    a.EmailAddress, a.Website, a.isEmailSubscriptionActive
  from
    Contacts a,
    BlockedEmailDomains b
  where
    a.ID  in (3574,3577,3571,3579,3578) and
    a.EmailAddress Not like '%'+b.DomainName+'%'

这是我写的查询。不喜欢不适合我...这段代码错了。

1 个答案:

答案 0 :(得分:0)

你应该至少提到过你的查询应该做的事情。我假设您正在尝试选择域未被阻止的所有联系人?这是一个存在的查询;您正在寻找没有阻止条目存在的所有联系人

select
  a.ID, a.FirstName, a.LastName, a.PhoneNumber,
  a.EmailAddress, a.Website, a.isEmailSubscriptionActive
from
  Contacts a
where
  a.ID in (3574,3577,3571,3579,3578)
  and not exists
  (
    select *
    from BlockedEmailDomains b
    where a.EmailAddress like '%'+b.DomainName+'%' 
  )
;

顺便说一句:EmailAddress和DomainName是否保证大小写相同?否则,在比较它们时应使用lower()或upper()。