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

UCAExc:::5.0.0行列数不匹配错误,如何修正两表关联分组求和的SQL语句

报错原因

  • 你写的子查询SELECT table2.Name,SUM(table2.Q) FROM table2 GROUP BY table2.Name返回的结果包含2个字段+多行数据,而WHERE table1.Name = (子查询)要求子查询只能返回1个字段且最多1行数据,字段数量不匹配就触发了row column count mismatch错误;同时子查询返回多行结果,用=做匹配逻辑也不成立。
  • 原查询的字段列表未包含SUM(Q)计算项,即使语法修复也无法输出你需要的第三列结果。

修正方案

采用关联聚合子查询的写法即可得到预期结果,Java中拼接的查询代码如下:

query = "SELECT t1.Name, t1.Ref, t2.sum_q FROM table1 t1 " +
        "INNER JOIN (SELECT Name, SUM(Q) AS sum_q FROM table2 GROUP BY Name) t2 " +
        "ON t1.Name = t2.Name";

逻辑说明

  • 内层子查询先对table2按Name分组,计算每个Name对应的Q字段总和,别名为sum_q
  • 用INNER JOIN将table1和聚合后的子查询结果通过Name字段关联,直接取出需要的三列即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:24:03