update biz_project_apply bpa inner join (
select manage_no, concat('[', group_concat(overspend order by sort, id asc), ']') as overspend_json
from (
select manage_no,
sort,
id,
concat('{sub_name:\"', sub_name, '\",overspend_amount:', sub_used_sup_amount - sub_sup_amount,
'}') as overspend
from biz_project_subject
where sub_used_sup_amount - sub_sup_amount > 0
order by manage_no
) bps
group by manage_no) bps1 on bps1.manage_no=bpa.manage_no set bpa.over_content=bps1.overspend_json where bpa.manage_no='249';
sql执行报错,解决方法,
update biz_project_apply bpa inner join ( select bps2.manage_no, concat('[', bps2.overspend_json, ']') as overspend_json from ( select manage_no, # concat('[', group_concat(overspend order by sort, id asc), ']') as overspend_json group_concat(overspend order by sort, id asc) as overspend_json # overspend as overspend_json from (select manage_no, sort, id, concat('{id:', id, ',name:\"', sub_name, '\",amount:', sub_used_sup_amount - sub_sup_amount, '}') as overspend from biz_project_subject where sub_used_sup_amount - sub_sup_amount > 0 order by manage_no) bps group by manage_no) bps2 ) bps1 on bps1.manage_no = bpa.manage_no set bpa.over_content=bps1.overspend_json where bpa.manage_no = '249';
错误原因:concat与group_concat嵌套使用就会存在这个问题,将其分开,问题解决.