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
相关推荐
AI、少年郎35 分钟前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄40 分钟前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
DataGear1 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
码不停蹄的玄黓1 小时前
MySQL Undo Log 深度解析:事务回滚与MVCC的核心功臣
数据库·mysql·undo log·回滚日志
Qdgr_2 小时前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
数据狐(DataFox)2 小时前
SQL参数化查询:防注入与计划缓存的双重优势
数据库·sql·缓存
Arthurmoo2 小时前
Linux系统之MySQL数据库基础
linux·数据库·mysql
博观而约取2 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
找不到、了3 小时前
MySQL的窗口函数介绍
数据库·mysql
执笔诉情殇〆4 小时前
springboot集成达梦数据库,取消MySQL数据库,解决问题和冲突
数据库·spring boot·mysql·达梦