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