我已经缩小了我的代码范围,我面临的问题是在尝试调整一些代码以包含更多结果时。
数据表供参考:
**OG_InUse**
*C_ID*
E011
E011_A
F012_D
**Csrc**
*C_ID*
E011
F012
G001
因此,在有“_*”的情况下有效但不返回结果的代码
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT C_ID FROM OG_InUse)"
结果:F012 G001
当我尝试扩展上述查询以仅从 OG_InUse 中返回 C_ID 的前 4 个字符(以删除存在 _A 或 _D 等的情况)时,就会出现问题:
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT Left(C_ID, 4) AS C_OG_ID FROM OG_InUse)"
我想导致以下结果(但访问只是继续尝试处理):G001
有什么建议可能导致查询像这样跳闸吗?我的第一个想法是检查别名,但我不确定除了分解它之外如何开始测试它(我已经完成并且我的子查询返回正确的结果集)。