我有兩個疑問:MySQL的 - 基於另一個查詢的結果篩選結果(顯示不同)
1:
select Firstname, Lastname, ContactID from contacts where account = 'The Beatles';
返回
Firstname | Lastname | ContactID
John Lennon Beatle01
Paul McCartney Beatle02
Ringo Starr Beatle03
The Other1 Beatle04
我的第二個查詢:
select contacts.lastname, contacts.firstname,
activities.contactid, activities.completeddate
from contacts, activities
where activities.contactid=contacts.contactid
AND completeddate >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY
AND completeddate < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY
order by contacts.lastname asc;
如果有n活動上週它將返回類似於:
Firstname | LastName | CompletedDate
John Lennon 2013-08-21 13:06
Paul McCartney 2013-08-21 15:04
我本來想運行的是一個異常查詢。 I.E.向我顯示上週沒有進行任何活動的用戶的姓名。
所以查詢3將返回類似:
Firstname | Lastname | ContactID
Ringo Starr Beatle03
The Other1 Beatle04
所以基本上我需要顯示在查詢1所有用戶誰不查詢的兩個存在。 我嘗試過幾個連接,innerjoins等等,但都失敗了。
任何人都可以推薦一個簡單的方法來做到這一點?