繁体   English   中英

MS Access SQL子查询中的数据类型不匹配

[英]Data type mismatch in MS Access SQL sub-query

好的,此查询将不会运行,并返回数据类型不匹配错误。 直到我尝试在WHERE子句中的子查询中联接两个表时,该错误才开始。

我尝试连接的两个表正是在主查询中连接的两个表。 每个表都包含一列CRD号。 在一个表中,它存储为文本,在另一个表中,存储为数字。 这就是为什么我使用CStr()函数将数字列转换为文本列的原因。 这对于主查询非常有效(感谢Stack Overflow!),但是当我尝试在子查询中执行相同的完全连接时,我收到了数据类型不匹配错误。

这是一张图片,上面有一个小箭头和文本框,以突出显示我(确定为99%)认为引起问题的区域。 同样,仅当我尝试在子查询中联接这两个表时才出现问题。 如果删除了该联接,则查询将运行。 (尽管子查询将不会返回正确的结果,从而使我的主查​​询无用)

我的问题

*我所有的Access DB都设置为接受标准T-SQL语法,因此我也将其标记为T-SQL

我认为差异可能是在主查询中您排除了Crd Number为null的情况,但在子查询中却没有。 我没有安装Access才能进行测试,但是我敢打赌,如果您将它添加到子查询的where子句中,它将可以正常工作。

sp.CRD_NUMBER is not null and dtp.CRD_NUMBER is not null

我怀疑函数CStr()的null值有问题,但是再说一次,我无法测试它是否会有所作为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM