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

SQLite两表关联查询:按名称匹配并排除部分字符串匹配行问题

错误原因分析
  • 逻辑运算符使用错误:过滤多个排除项时应使用AND而非OR。你的原条件Names NOT LIKE '%Gregg%' OR NOT LIKE '%Kim%'会导致所有行都满足条件:比如名称为Gregg时,虽然不满足第一个排除条件,但满足「不是Kim」的第二个条件,最终整行被保留,过滤完全失效。
  • 条件字段缺失:OR后的NOT LIKE没有指定判断字段Names,语法不规范导致逻辑判断完全错误。
  • 字段归属不明确:两张表都存在Names字段,直接写Names会导致数据库无法识别取哪张表的字段,即使运行也会出现不符合预期的结果。
正确SQL写法

你当前的需求是按Names关联两张表,使用内连接即可,过滤条件指定其中一张表的Names字段判断即可,正确语句如下:

SELECT SUM(A.Sales) AS 'A Sales Sum', SUM(B.SALES) AS 'B Sales Sum'
FROM A
JOIN B ON A.Names = B.Names
WHERE A.Names NOT LIKE '%Gregg%' AND A.Names NOT LIKE '%Kim%';

执行后得到的结果就是你预期的A Sales Sum=18,B Sales Sum=24。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:01