GROUP_CONCAT报错解决

有如下表

其中awardee和awardee_unit都是保存的json类型的字符串, awardee是多个人员id, awardee_unit是部门的全路径

查询时要注意转换

需要将name拼接起来合并成一行,直接 GROUP_CONCAT 会报错

百度的大部分答案是修改数据库配置去掉严格模式,如果不方便修改数据库可以这样做

sql 复制代码
select a.id,a.award_name,a.project_name,d.dept_name as awardee_unit,a.awardee_time,
        (SELECT GROUP_CONCAT(DISTINCT name) FROM biz_employee WHERE FIND_IN_SET(id, REPLACE(TRIM(REGEXP_REPLACE(a.awardee, '\\[|\\]', '')) ,' ','')) ) awardee
        from biz_technology_awards a
        join biz_technology_awards_emp b on a.id = b.technology_awards_id
        join biz_employee c on b.emp_id = c.id
        join sys_dept d on d.dept_id = JSON_EXTRACT(a.awardee_unit, concat('$[', json_length(a.awardee_unit) - 1, ']'))
        where c.id = 1
相关推荐
异常君15 分钟前
深入解析 InnoDB 死锁:从案例到方案,全流程透视指南
数据库·后端·mysql
꧁坚持很酷꧂17 分钟前
Qt实现文件传输服务器端(图文详解+代码详细注释)
开发语言·数据库·qt
苏牧keio37 分钟前
安装MySQL8.0
数据库
半糖土豆爱编码_38 分钟前
【mysql】Mac 通过 brew 安装 mysql 、启动以及密码设置
数据库·mysql·macos
Lary_Rock1 小时前
ubuntu20.04 Android14编译环境配置
大数据·数据库·elasticsearch
烂漫心空1 小时前
Windows 系统如何使用Redis 服务
数据库·数据仓库·redis·mysql·缓存·数据库架构
UniLCodes2 小时前
✅ MySQL 事务 & MVCC & ROLLBACK
数据库·mysql
SHIPKING3932 小时前
【LangChain核心组件】Memory:让大语言模型拥有持续对话记忆的工程实践
数据库·python·langchain·llm·memory
在努力的韩小豪2 小时前
MySQL中的UNION和UNION ALL【简单易懂】
数据库·sql·mysql·结果集合并·union和union all
SelectDB3 小时前
网易游戏 x Apache Doris:湖仓一体架构演进之路
大数据·数据库·数据分析