我正在使用一个在2个表上执行简单外连接的查询。最初,连接编码为:
FROM [T1]
LEFT JOIN [T2]
ON [T1].[Bank Account #] = [T2].Account)
AND [T1].[Payment Reference] = [T2].[Reference #]
足够简单。直到“参考”数字开始重叠。最简单的解决方案是仅在T1."payment dt" is <= T2."cashed date"
我的参考号为#222456,其“兑现日期”为1/1/2011。 我有一个新行w / 222456(不同类型,数字现在重叠。输入无法匹配),付款日期为2016年1月1日
更复杂的是,T1的检查日期字段是文本,T2是日期/时间。
如果我添加这一行:
and (Format(cDate([T1].[Payment Date]),'YYYYMMDD')
它完全抛弃了T1行。
我在select中测试条件,它看起来应该正常运行。
此条件为TRUE时 - 我得到适当匹配的T2数据
如果这个条件为FALSE - 并且没有T2记录存在 - 我只得到T1 rec。
这个条件为FALSE - 但是现有的T2行前两个字段匹配(但日期检查失败) - 然后我得到NO行返回。
我需要T1返回,就好像没有找到T2匹配(ON应该指示)
想法?
谢谢!