很抱歉,sql不太好,只是尝试了一下。。
我有一份客户预约清单,比如说在3月1日至6月1日期间预订了1000个。然后我要找出谁(在1000人中(在6月1日之后没有预订?
SELECT distinct Appointment.StartTime, Appointment.ClientId
FROM Appointments
WHERE (Appointment.AccountId = '12345678')
ORDER BY Events.StartTime
输出应显示Appointment.StartTime为LastAppointment、Appointment.ClientId
如果您想要在3月1日至6月1日之间预约但之后没有预约的人,请使用聚合:
SELECT a.ClientId
FROM Appointments a
WHERE a.StartTime >= '2020-03-01'
GROUP BY a.ClientId
HAVING MAX(a.StartTime) < '2020-06-01';
这将返回在3月1日之后预约但最近一次预约在6月之前的客户。