问题描述
我正在使用 MS 访问来创建一个查询,以确定出生日期是否介于另一个表中的开始日期和结束日期之间,如果是,请提供在与开始日期和结束日期相同的表中找到的符号。
对于每个出生日期,我一直收到 2 个结果,但不知道为什么。
任何人都可以帮助每个出生日期只有一组结果吗?
我附上了下面的代码。
SELECT [TBL_IndicativeData_AllPpts].ID,[TBL_IndicativeData_AllPpts]![dob] AS dob,IIf([TBL_IndicativeData_AllPpts]![dob] Between [TBL_Mapping_Funds_TargetDate]![Earliest Birth Date] And [TBL_Mapping_Funds_TargetDate]![Latest Birth Date],[TBL_Mapping_Funds_TargetDate]![Fund Symbol],"Null") AS TargetDateFund
FROM TBL_Mapping_Funds_TargetDate,[TBL_IndicativeData_AllPpts]
WHERE (((IIf([TBL_IndicativeData_AllPpts]![dob] Between [TBL_Mapping_Funds_TargetDate]![Earliest Birth Date] And [TBL_Mapping_Funds_TargetDate]![Latest Birth Date],"Null"))<>"null"));
解决方法
这将返回符合条件的记录:
contains_diagram
但是,如果 TargetDate 表具有重叠的日期范围,您可能会收到欺骗。如果是这样,请尝试使用 SELECT
[TBL_IndicativeData_AllPpts].ID,[TBL_IndicativeData_AllPpts]![DOB],[TBL_Mapping_Funds_TargetDate]![Fund Symbol]
FROM
[TBL_IndicativeData_AllPpts],[TBL_Mapping_Funds_TargetDate]
WHERE
[TBL_IndicativeData_AllPpts]![DOB] Between
[TBL_Mapping_Funds_TargetDate]![Earliest Birth Date] And
[TBL_Mapping_Funds_TargetDate]![Latest Birth Date]
。