遇到问题:
返回所有在2013年1月1日之后未注册cp.date_registered的rm记录
我一直在努力改变这一点,试图完成工作:
SELECT rm.fname, rm.lname, rm.dob, rm.dod, cp.date_registered
FROM rm INNER JOIN cp ON rm.member_id = cp.member_id
WHERE cp.date_registered <= #01/01/2013#
AND NOT cp.date_registered > #01/01/2013#
AND rm.dod Is Null;
所以基本上我只需要rm记录中的几个字段,其中注册的日期不是在2013年1月1日之后。我认为它很简单,但显然我需要一些帮助。
现在代码返回
答案 0 :(得分:0)
我会尝试以下方法:
SELECT DISTINCT rm.fname, rm.lname, rm.dob, rm.dod, cp.date_registered
FROM rm INNER JOIN cp ON rm.member_id = cp.member_id
WHERE cp.date_registered <= #01/01/2013#
AND rm.dod Is Null;
使用DISTINCT
应该获得一条记录(如果我正确理解您的要求:))
答案 1 :(得分:0)
知道了。这将返回rm中的记录,这些记录在cp。
之后的2013年1月1日之后没有注册日期 SELECT rm.fname, rm.lname, rm.dob, rm.dod
FROM rm
WHERE rm.dod Is Null
AND NOT EXISTS
(SELECT cp.date_registered
FROM cp
WHERE rm.member_id = cp.member_id
AND cp.date_registered >= #01/01/2013#);
此外,它每次只会返回一条记录,不需要DISTINCT。