请帮我编写以下情况的通用SQL查询。
根据表2中的数据确定输出。对于Eg1,如果表2中存在AB *,则输出为AB01,AB02。
例2-表2中存在AB02,输出中仅AB02
Eg3-*在表2中存在,表1中的所有数据都在输出中

场景1

Table1
AB01
AB02
BE01
GH01

Table2
AB*

Output
AB01
AB02




Scenario 2

Table1
AB01
AB02
BE01
GH01

Table2
AB02

Output
AB02




场景3

Table1

AB01
AB02
BE01
GH01

Table2
*

Output
AB01
AB02
BE01
GH01

最佳答案

在表之间的交叉联接上使用rlike

select *
  from table1 t1, table2 t2
  where t1.col1 rlike t2.col2;


您可能需要调整table2中的表达式以成为标准的regex模式,但这应该很容易。见https://dev.mysql.com/doc/refman/8.0/en/regexp.html

关于mysql - SQL中的字符串模式匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50512301/

10-11 02:53