SQL关联两表匹配后查询Table3缺失BrandCode对应项的实现问题
办公地址品牌配置缺失条目查询方案
现有业务表说明
- Table1(办公地址主表):字段包含
Office、City、Country2Letter、Country3Letter、Address,存储全量合规办公地址信息 - Table2(用户账号表):字段包含
SamAccountName、Office、BrandCode,存储用户账号关联的办公地址及品牌编码信息 - Table3(办公地址品牌配置表):字段包含
DLName、OfficeName、BrandCode,存储办公地址关联品牌编码的配置信息
需求实现逻辑
要查询Table3中缺失的合法OfficeName+BrandCode组合,按以下步骤执行:
- 以Table1的
Office字段为唯一合规基准,排除所有非法办公地址数据 - 关联Table2拿到所有合规办公地址下实际在用的
Office+BrandCode组合 - 与Table3已有的
OfficeName+BrandCode组合做匹配,筛选出不存在的缺失条目
参考查询代码
SELECT DISTINCT t1.Office AS MissingOfficeName, t2.BrandCode AS MissingBrandCode FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Office = t2.Office LEFT JOIN Table3 t3 ON t1.Office = t3.OfficeName AND t2.BrandCode = t3.BrandCode WHERE t3.OfficeName IS NULL
该查询返回的结果就是所有合规、已被用户使用,但未录入Table3的组合,可直接用于补全配置表。
内容的提问来源于stack exchange,提问作者debratton
相关产品推荐
相关产品推荐

