1

私は2つのテーブルを持っています

USERS ユーザーデータが含まれています

携帯
電話
447777744444 447777755555
7777755555
7777766666

MOBILEPHONES携帯電話番号が含まれています

電話番号
7777744444
7777733333
7777755555
7777766666

次の SQL を実行すると、正確に一致する数値のみが返され、ワイルドカード検索は実行されません。

SELECT MobilePhones.*, users.FirstName FROM MobilePhones
LEFT JOIN users
ON (users.MobilePhone= MobilePhones.`Telephone No`)
WHERE users.MobilePhone LIKE CONCAT('%', MobilePhones.`Telephone No`, '%')

返ってきます

7777755555
7777766666

私が欲しいのは

7777755555
7777766666
447777755555
447777744444

4

1 に答える 1

1

WHEREおそらく、句を結合の句に移動して、完全に一致ONする既存の句を置き換えたいと思います。ON

SELECT MobilePhones.*, users.FirstName 
FROM MobilePhones
LEFT JOIN users ON users.MobilePhone LIKE CONCAT('%', MobilePhones.`Telephone No`, '%')
于 2012-05-17T14:13:23.507 に答える