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

MySQL中如何结合JOIN使用LIKE查询?解决关联匹配问题

解决方案

你的问题出在JOIN的匹配条件上:原查询用ts.text = tf.text做等值匹配,只会返回两个表text字段完全一致的记录,自然无法匹配night of the day这类包含night的内容。

修改思路是把JOIN的匹配逻辑改成「tax_first的text值被包含在tax_second的text值中」,具体SQL如下:

SELECT ts.*, tf.*
FROM tax_second ts
JOIN tax_first tf
  ON ts.text LIKE CONCAT('%', tf.text, '%')

补充说明:

  • 这里用CONCAT('%', tf.text, '%')动态拼接模糊匹配通配符,确保tf的text值作为子串出现在ts的text里。
  • 如果tax_first表中存在重复的text值(比如你的例子里两条night),查询结果会出现重复记录。如果需要去重,可以添加DISTINCT:
    SELECT DISTINCT ts.*, tf.*
    FROM tax_second ts
    JOIN tax_first tf
      ON ts.text LIKE CONCAT('%', tf.text, '%')
    
  • 原查询中的WHERE ts.text Like '%night%'可以去掉,因为JOIN条件已经实现了匹配逻辑;如果你的需求就是只关注包含night的ts数据,也可以保留该条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:40:35