[MySQL]FIND_IN_SET
下記2つのテーブルをtelカラムでjoinしたい
all_test
id | name | tel |
---|---|---|
1 | あいう | 09011112222 |
2 | なにぬ | 09033334444 |
3 | かきく | 09055556666 |
4 | さしす | 09077778888 |
sub_infos
id | tel | address |
---|---|---|
1 | 090-3333-4444 | 東京都港区赤坂1-2-2 |
2 | 090-7777-8888 | 神奈川県横浜市中区4-32-4 |
SQL
SELECT a.id,a.name,a.tel,s.id AS sub_id,s.tel AS sub_tel FROM all_test AS a LEFT JOIN sub_infos AS s ON FIND_IN_SET(a.tel,REPLACE(s.tel,'-','')) ORDER BY id ASC;
結果
id | name | tel | sub_id | sub_tel |
---|---|---|---|---|
1 | あいう | 09011112222 | ||
2 | なにぬ | 09033334444 | 1 | 090-3333-4444 |
3 | かきく | 09055556666 | ||
4 | さしす | 09077778888 | 2 | 090-7777-8888 |