我想先说这个问题here有点帮助,但我的问题有点不同。比较SQL Server中多种格式的电话号码
我有两个表。第一个有:
| AREACODE| PHONENUMBER | Company Name |
===========================================
| 800 | 115-4454 | Sample Company |
| 800 | 141-2254 | Sample Company2 |
| 800 | 113-9857 | Sample Company3 |
第二个表有:
|PHONENUMBER|
=============
|18001154454|
| 7274313 |
此格式第二个表使得它真的很难,我为有人在SQL不是很大,来匹配表项。
我的问题与链接的区别在于我无法以任何方式更改表格。
完整的要求是,当表1中的区号+电话号码与表2中的电话号码匹配时,我需要选择一个名为公司名称的列。
我考虑过一个解决方案,使用CASE WHEN来检查长度并进行复杂的子字符串修改,但我怀疑这是否是正确的方法。任何帮助,将不胜感激。如果我对任何事情都不清楚,请问,我会尽我所能为您澄清。
编辑
所有列都是字符串。
预计的成果将是电话号码,并在它的电话号码表间的任何匹配的公司名称是从第一台原始格式从上面的例子(区号+ PHONENUMBER)
所以我期望
PHONENUMBER | Company Name |
===================================
800-115-4454 | Sample Company |
可以请您展示一些预期的输出样本 – TheGameiswar
这里是一个很好的开始。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
哪些数据类型是列? –