我有 2 个表,说表 A 有 10 行,表 B 有 100 行,我想执行连接,但匹配条件必须是 A 中的列“就像”B 中的列,这意味着任何事情都可以来在 B 列之前或之后:
例如:如果 A 中的列是 'foo'。如果 B 中的列是“fooblah”、“somethingfooblah”或只是“foo”,则连接将匹配。我知道如何在标准的 like 语句中使用通配符,但是在进行连接时感到困惑。这有意义吗?谢谢。
此代码不起作用:
SELECT *
FROM TABLE a JOIN
TABLE b
ON b.column LIKE CONCAT('%', a.column, '%');
例子:
Table A
+-------+
| MYCOL |
+-------+
| foo |
| foo |
| bar |
| bbb |
| bar |
+-------+
Table B
+------------------+
| MYCOL |
+------------------+
| fooblah |
| somethingfooblah |
| foo |
| barblah |
| somethingbarblah |
| bar |
+------------------+
Result:
+-------+------------------+
| MYCOL | MYCOL |
+-------+------------------+
| foo | fooblah |
| foo | somethingfooblah |
| foo | foo |
| -- | test |
| bar | somethingbarblah |
| bar | bar |
+-------+------------------+