我有这个带有两列的丑陋源数据,我们称它们EmpID
为SomeCode
. 通常 EmpID 映射到EmployeeListing
表。但有时,人们会在SomeCode
字段中输入员工 ID。
之前在 Excel 中运行此报告的人通过使用 if 语句执行多个 vlookup,以及运行一些手动检查以确保结果准确,“解决了”这个问题。当我将这些文件移动到 Access 时,我不确定如何最好地处理这种情况。
理想情况下,我希望告诉我的查询SomeCode
如果EmpID
为空,则执行左连接,否则左连接EmpID
不幸的是,我无法在源数据中强制验证或任何类似的东西。
这是我正在处理的完整 SQL 查询:
SELECT DDATransMaster.Fulfillment,
DDATransMaster.ConfirmationNumber,
DDATransMaster.PromotionCode,
DDATransMaster.DirectSellerNumber,
NZ([DDATransMaster]![DirectSellerNumber],[DDATransMaster]![PromotionCode]) AS EmpJoin,
EmployeeLookup.ID AS EmpLookup,
FROM FROM DDATransMaster
LEFT JOIN EmployeeLookup ON NZ([DDATransMaster]![DirectSellerNumber],[DDATransMaster]![PromotionCode]) = EmployeeLookup.[Employee #])