You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨表匹配查询需求:从Table1提取与Table2匹配的记录

实现Table1与Table2的模糊匹配筛选

根据你的需求和示例数据,匹配逻辑是Table1的Column b与Table2的Column A存在互相包含的关系(即一方是另一方的子串)。以下是满足需求的SQL实现:

SELECT t1.`Column b` AS result
FROM Table1 t1
WHERE EXISTS (
    SELECT 1
    FROM Table2 t2
    WHERE t2.`Column A` LIKE CONCAT('%', t1.`Column b`, '%')
       OR t1.`Column b` LIKE CONCAT('%', t2.`Column A`, '%')
);

代码说明

  1. 主查询从Table1中获取数据,最终输出符合条件的Column b并命名为result
  2. EXISTS子查询用于判断当前Table1的记录是否在Table2中存在匹配项:
    • t2.Column A LIKE CONCAT('%', t1.Column b, '%'):检查Table2的Column A是否包含Table1的Column b
    • t1.Column b LIKE CONCAT('%', t2.Column A, '%'):检查Table1的Column b是否包含Table2的Column A
  3. 只要满足其中一个包含条件,该Table1的记录就会被筛选出来

与参考代码的区别

你提供的参考代码是从Table2出发,标记每条记录是否与Table1匹配,而需求是从Table1筛选符合条件的记录,因此需要调整查询的主表和判断逻辑。

验证示例数据

执行上述SQL后,会得到你期望的结果:

result
12345
567890
78905
  • 12345:被Table2的123456包含
  • 567890:包含Table2的56789
  • 78905:被Table2的789056包含
  • 1256:与Table2的所有Column A都无包含关系,因此被排除

内容的提问来源于stack exchange,提问作者vid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:15:15