mysql json 行转列_Mysql 行转列 + json
SET @EE = '';SET @str_tmp = '';SET @Revenue_JSON = '';SET @Revenue_JSON_tmp = '';SELECT @EE := CONCAT(@EE,'SUM(IF(fsRevenueTypeName=\'',fsRevenueTypeName,'\'',',fdSubTotal,0)) AS ''revenue_',fsRevenue
SET @EE = '';
SET @str_tmp = '';
SET @Revenue_JSON = '';
SET @Revenue_JSON_tmp = '';
SELECT @EE := CONCAT(
@EE,
'SUM(IF(fsRevenueTypeName=\'',
fsRevenueTypeName,
'\'',
',fdSubTotal,0)) AS ''revenue_',
fsRevenueTypeName,
''','
) AS aa ,
@Revenue_JSON := CONCAT (
@Revenue_JSON,','',"'
,fsRevenueTypeName,'":'','
,'revenue_',fsRevenueTypeName
)
AS bb
INTO @str_tmp,@Revenue_JSON_tmp
FROM
(
SELECT DISTINCT
fsRevenueTypeName
FROM
TempRevenueType
WHERE fsRevenueTypeName IS NOT NULL
) A
ORDER BY
LENGTH(aa) DESC
LIMIT 1;
-- 拼接 json
SELECT CONCAT('''{',SUBSTRING(@Revenue_JSON_tmp,4),','',"汇总":'',','revenue_汇总',',''}''') INTO @Revenue_JSON_tmp;
SET @QQ = CONCAT(
' CREATE TEMPORARY TABLE TempRevenueType1 ( SELECT fsSellNo3,CONCAT(',@Revenue_JSON_tmp,') as revenue_info',
' FROM ( SELECT fsSellNo as fsSellNo3,',@str_tmp,
' SUM(fdSubTotal) AS revenue_汇总 FROM TempRevenueType Group By fsSellNo) a );'
);
分享到:


2017-05-11 20:08
浏览 2597
分类:数据库
评论
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)