-1

细节:

http://screencast.com/t/fTRzyqso

基本上有2个MYSQL表(联系人和事务),需要根据两个条件获取contactid

  1. 获取根本没有交易的所有联系人(contactid)
  2. 只获取那些有一笔或多笔交易但都处于取消状态的联系人。

帮助!?

4

1 回答 1

0

您实际上可以通过简单的 LEFT 连接来完成此操作...并查找 NULL(未找到)。通过进行左连接,它从左表中获取所有记录,而不管右侧是否匹配。因此,如果我们将连接条件设置为您的事务表,特别是 Canceled = "No",并且我们找到匹配项,请从结果集中忽略它。如果事务中没有记录,或者它们都设置为 Canceled = "Yes",则它们被排除在联接条件之外,因此将被视为 "none found"

select
      c.ContactID
   from
      Contacts c
         LEFT JOIN Transactions t
            on c.ContactID = t.ContactID
           AND t.Cancelled = "yes"
   where
      t.contactID is null
于 2012-04-17T23:02:20.297 回答