2

我有这张表,名为 Prospects :

+---------+-------------+
| Name    | PhoneNumber |
+---------+-------------+
|John     | 08199999    |
|Viona    | 08332222    |
+---------+-------------+

另一方面,我也有这张表,名为 SMSD :

+-----------------+---------------+
| Message         | PhoneNumber   |
+-----------------+---------------+
|Hello World!     | +628199999    |
|Hi World         | +628332222    |
+-----------------+---------------+

现在我需要基于 PhoneNumber 对这两个表进行 LEFT JOIN :Prospects.PhoneNumber = SMSD.PhoneNumber 而在 SMSD 表上的电话号码总是有国家代码前缀。

谢谢!

4

2 回答 2

2
select * from Prospects
left join SMSD on substring(SMSD.PhoneNumber, 4) = substring(Prospects.PhoneNumber, 2)

(未测试)

这应该在执行加入之前从 SMSD 电话号码中删除国家代码前缀,并从潜在客户电话号码中删除前导零。

于 2013-02-01T08:36:11.753 回答
0
SELECT *
FROM prospects AS t1
JOIN SMSD AS t2
ON 
CONCAT(@prefix, SUBSTRING(t1.PhoneNumber, 2)) = t2.PhoneNumber
WHERE t1.PhoneNumber LIKE @prefix%
于 2013-02-01T08:43:26.607 回答