我需要在 MS Access 数据库中生成活跃客户列表。所有过去和现在的客户都存储在客户表中。但是,确定活动状态的标准需要从另外两个表中得出:入口和出口。如果客户的进入日期之后没有退出日期,则该客户被认为是活跃的。但是,令人困惑的是,具有退出日期的前客户可以通过获得新的进入日期再次成为客户。
以下是存储此信息的三个表的结构的相关部分:
customers table
customerID
name
intake table
intakeID
customerID
intakeDate
exit date
exitID
customerID
exitDate
一个客户可以有多个入口记录和多个退出记录。所以 SQL 语句的伪代码需要看起来像:
SELECT customerID, name FROM customers
WHERE ((most recent intakeDate)>(most recent exitDate(if any)))
这在真正的 SQL 中应该是什么样子?对于 MS Access 2010 数据库。显然,连接是必要的。但是什么类型的连接呢?它需要看起来如何?