Mysql 在最近的匹配字符串上联接两个表

Mysql 在最近的匹配字符串上联接两个表,mysql,Mysql,我有一个查询表,希望使用最接近的匹配字符串与匹配表联接。如果是反之亦然,那么“like”会起作用,但不知道如何做到这一点 query_table +----+------------------+ | id | string | +----+------------------+ | 1 | fcc9e8796feb | | 2 | fcdbd7ebcf89 | | 3 | fccc87896feb | | 4 | fcc7c7896fef

我有一个查询表,希望使用最接近的匹配字符串与匹配表联接。如果是反之亦然,那么“like”会起作用,但不知道如何做到这一点

query_table
+----+------------------+
| id | string           |
+----+------------------+
|  1 | fcc9e8796feb     |
|  2 | fcdbd7ebcf89     |
|  3 | fccc87896feb     |
|  4 | fcc7c7896fef     |
|  5 | fcced777aaaf     |
+----+------------------+

match_table
+----+-----------+
| id | match_code|
+----+-----------+
|  1 | fcff      |
|  2 | fcccc     |
|  3 | fccc8     |
|  4 | fccc9     |
|  5 | fccdb     |
|  6 | fccdc     |
|  7 | fccd8     |
|  8 | fcce      |
|  9 | fcced     |
| 10 | fccee     |
| 11 | fcce6     |
| 12 | fcc7b     |
| 13 | fcc7c     |
| 14 | fcc8e     |
| 15 | fcc87     |
| 16 | fcc88     |
| 17 | fcc9e     |
| 18 | fcdbb     |
| 19 | fcdbc     |
| 20 | fcdbd     |
+----+-----------+
我想

result
+----+------------------+----+----------------+
| id | string           | id | match_code     |
+----+------------------+----+----------------
|  1 | fcc9e8796feb     | 17 | fcc9e          |
|  2 | fcdbd7ebcf89     | 20 | fcdbd          |
|  3 | fccc87896feb     |  3 | fccc8          |
|  4 | fcc7c7896fef     | 13 | fcc7c          |
|  5 | fcced777aaaf     |  9 | fcced          |
+----+------------------+----+----------------+

5号身份证呢。。。它与
fcce
匹配,并且
fcce
它不是最近的匹配。。。您的意思是要将
match_code
string
的前5个字符进行匹配,这是公平的simple@SalmanA它应该尽可能匹配max charters。如果我们在
match_table
中有
fcced7
,那么
match_code
将是
fcced7
@riggsfully不是前五个字符,而是尽可能多的字符match@sachin我根据这个假设发布了答案id#5呢。。。它与
fcce
匹配,并且
fcce
它不是最近的匹配。。。您的意思是要将
match_code
string
的前5个字符进行匹配,这是公平的simple@SalmanA它应该尽可能匹配max charters。如果我们在
match_table
中有
fcced7
,那么
match_code
将是
fcced7
@riggsfully不是前五个字符,而是尽可能多的字符match@sachin我根据这个假设发布了答案