Mysql 行转列 + json

Mysql 行转列 + json[code="java"]SET@EE=”;SET@str_tmp=”;SET@Revenue_JSON=”;SET@Revenue_JSON_tmp=”;SELECT@EE:=CONCAT( @EE, ‘SUM(IF(f…

大家好,又见面了,我是你们的朋友全栈君。


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 );'
);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137507.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html表单代码有哪些,HTML常用代码有哪些「建议收藏」

    html表单代码有哪些,HTML常用代码有哪些「建议收藏」HTML常用代码有哪些?网页的描述,关键字,作者及其他元素:metaname=””content=””客户端脚本:window.alert(”);文档的样式信息:引进图片:imgsrc换行:br超级链接:aherf新的页面打开:target=”_blank”无序列表:有序列表:表格的页眉:thead表格的主题:tbody定义表格的页脚:tfood定义表格:table边框:border单元…

    2022年8月11日
    8
  • toArray方法的使用简记「建议收藏」

    toArray方法的使用简记「建议收藏」最近在写代码的时候需要用到的List的toArray方法。可是程序报错了报错代码大致这样的publicvoidfind(){List<String>list=newArrayList<String>();list.add("have");list.add("no");list.add("problem"…

    2022年5月14日
    44
  • System.err.println()和System.out.println()区别

    System.err.println()和System.out.println()区别看了些资料总结下:1.JDK文档对两者的解释:out:“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。err:“标准”错误输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。按照惯例,此输出流用于显示错误消息,或者显示那些即使用户输出流(变量 out 的值)已经重定向…

    2022年6月13日
    31
  • PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)

    PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)C语言PTA练习题浙大版《C语言程序设计实验与习题指导(第3版)》题目集寒假在家,想着吧PTA上的C语言练习题写写,博主初学C语言,其中有些代码写的可能有些令人费解甚至是让人笑话,但是这也是一个练习的过程。注:其中有些题的代码参考了其他人。题目号题目名实验1-1HelloWorld!实验1-2WelcometoYou!实验1-3ProgramminginCisfun!实验1-4输出三角形实验1-5输出菱形图案实验1-6输出带

    2025年7月18日
    2
  • java动态代理中的invoke方法是如何被自动调用的「建议收藏」

    java动态代理中的invoke方法是如何被自动调用的「建议收藏」Java中动态代理的实现,关键就是这两个东西:Proxy、InvocationHandler,下面从InvocationHandler接口中的invoke方法入手,简单说明一下Java如何实现动态代理的。        首先,invoke方法的完整形式如下: Java代码  public Object invoke(Object proxy, Method m

    2022年4月30日
    122
  • mac clion激活码破解方法

    mac clion激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    412

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号