就像子查询的结果(多个值)

Luc*_*man 2 mysql

我想要做的是以下概念:

SELECT field1,field2,field3 
FROM table1 
where field3 like '%'+(SELECT distinct field from table2)+'%'
Run Code Online (Sandbox Code Playgroud)

但这是不允许的,因为 like 不接受多个值。如何重写此查询,以便我可以通配符匹配具有来自另一个表的多个结果值的字段?

gbn*_*gbn 5

将其重写为 JOIN

SELECT t1.field1, t1.field2, t1.field3 
FROM
    table1 t1
    JOIN
    (SELECT distinct field AS fieldx from table2) t2 
    ON t1.field3 like CONCAT('%',fieldx,'%')
Run Code Online (Sandbox Code Playgroud)