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