0
我想知道是否有可能在mysql中執行特定查詢,而不必求助於基於應用程序的過濾和多個查詢。MySql按日期篩選複雜查詢
基本上,我有一個客戶表,我有一個證書表的每個人(包括那些不是我的客戶)
每個客戶可以有多個證書,以及我對每個證書的有效期限。
我希望能夠選擇那些證書即將過期的客戶(在2周或更短的時間內),並且沒有其他證書的更長的到期日期。
第一部分是容易的,我執行內部聯接基於兩個表之間的SSN,與where子句從現在到現在+2周像這樣specifing日期終止日期:
select certs.ssn, certs.cert_num, certs.cert_start, certs.cert_finish
from certs
INNER JOIN customers ON certs.ssn = customers.ssn
where certs.cert_finish < Date_ADD(now(), INTERVAL 14 DAY)
and certs.cert_finish > now()
然而,我無法找到一種方法來排除那些擁有其他有效期更長的證書的客戶。
你們有什麼想法嗎?我正在考慮一個基於max(cert_finish)的子查詢,僅在前一個查詢返回的那些ssns上。
非常感謝,謝謝! – user1543495