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

如何实现多表关联场景下的SUM求和查询操作

你原来的写法会报错,核心原因是LIKE后只能跟单个匹配值,如果子查询SELECT colum2 FROM table2 WHERE condition2 LIKE 'value2'返回多条结果,SQL会直接抛出「子查询返回多行」的错误。根据你的实际匹配逻辑,可以选择以下两种正确写法:

场景1:colum1和colum2为精确匹配

如果你的需求是colum1的值等于colum2的值,直接用IN替换LIKE即可:

SELECT SUM(qty) AS total_qty
FROM table1
WHERE colum1 IN (
    SELECT colum2
    FROM table2
    WHERE condition2 = 'value2' -- 若需模糊匹配condition2可改回LIKE并补充通配符
);

提示:如果condition2是精确匹配'value2',用=代替LIKE查询效率更高,需要模糊匹配请自行补充通配符,比如condition2 LIKE '%value2%'

场景2:colum1需要模糊匹配colum2的值

如果colum2存储的是带通配符的匹配规则(比如%XX%这种格式),需要用关联查询实现多规则匹配:

SELECT SUM(t1.qty) AS total_qty
FROM table1 t1
INNER JOIN table2 t2 
  ON t1.colum1 LIKE t2.colum2
WHERE t2.condition2 LIKE 'value2';

提示:如果需要排除重复匹配的记录,可以在求和前加DISTINCT或者先对table2的colum2去重

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:42:00