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

MySQL中使用GROUP_CONCAT结合UPDATE语句报错求修正

修正后的GROUP_CONCAT UPDATE语句

错误分析

  • 错误语句1:子查询缺少FROM子句,多表直接关联UPDATE未做有效过滤,且子查询的GROUP BY可能返回多行,导致赋值时出现"单行子查询返回多行"的报错。
  • 错误语句2:不符合MySQL的UPDATE语法规范,子查询未正确关联表,也未指定与主表的关联条件,无法完成预期更新逻辑。

正确语句

UPDATE titlement_values e
JOIN (
    SELECT 
        e2.title_value,
        GROUP_CONCAT(DISTINCT o.minvalue) AS min_val
    FROM firstEntry f
    JOIN objects o ON f.ldkey = o.ld_key
    JOIN titlement_values e2 ON o.TITLE_VALUEKEY = e2.TITLE_VALUEKEY
    WHERE f.ldkey = 13
      AND e2.TITLEMENTTYPEKEY = 13
      AND e2.TITLE_VALUE LIKE 'ZD%'
    GROUP BY e2.title_value
) AS agg ON e.title_value = agg.title_value
SET e.customattribute12 = agg.min_val;

逻辑说明

  1. 子查询agg通过三表关联筛选出符合条件的记录,按title_value分组后,计算每个分组的minvalue去重拼接结果。
  2. 主表titlement_values与子查询通过title_value字段关联,将聚合得到的拼接值批量更新到对应的customattribute12字段,完全匹配你需要的对应关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:05:19