【发布时间】:2013-04-12 11:07:22
【问题描述】:
来了。
我有两张表,分别是 Application 和 Report。
这些表有一个公共列(分别为 appId、externalAppId),可以将它们连接起来以查找唯一值。
我的问题是,当我加入这 2 个表时,我得到了我并不真正想要的值。
示例值
Application Report
No appId ReportNo ExternalAppId
1 123 1 123
2 456 2 00000123
3 789 3 321
所以当我在 where 条件中说 Application.appId = Report.ExternalAppId 时,它会从 Report table 返回我的 123 和 00000123 行。
连接中不考虑前导零。
我只需要完全匹配的结果。
在这种情况下,仅第一行。我认为问题的原因是appId是数字并且 ExternalAppId 是 varchar。
我也无法更改。有什么解决方法吗?
我见过可以删除前导零然后匹配的正则表达式,但只是想知道是否有更好的解决方案。
即我可以指定连接仅适用于值完全匹配?
【问题讨论】: