2

Prospectsという名前のこのテーブルがあります:

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

一方、SMSDという名前のこのテーブルもあります。

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

ここで、PhoneNumber:Prospects.PhoneNumber = SMSD.PhoneNumberに基づいて、両方のテーブルにLEFT JOINを実行する必要がありますが、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 に答える