

明细表1字符串拼接合并插入到明细表2SQL输出过程记录
source link: https://blog.51cto.com/mflag/5370683
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

需求描述:
明细表1:formtable_main_46_dt1
字段:id,mainid, bxmx1, jshj, kmbm, fyxm
明细表4:formtable_main_46_dt4
字段:id,mainid,zy,kmbm,jdbmbm,fyxmbm,yfxmbm,jfje
- fyxm 为福利费(56)的数据。
- bxmx1 拼接,”/”间隔(mysql 结果集行拼接group_concat)。
- jshj 取合计(sum)。
- 插入到明细表4.
- 同主表,所以mainid相同。
输出过程:
- 查看明细表1数据。
- select mainid, bxmx1, jshj, kmbm, fyxm from formtable_main_46_dt1;
- 找一个demo数据,mainid=62,以及过滤符合条件的数据,fyxm=56
- select mainid, bxmx1, jshj, kmbm, fyxm from formtable_main_46_dt1 where mainid=62 and fyxm =56
- 尝试字符串合并group_concat
- select group_concat(bxmx1) from formtable_main_46_dt1 where mainid=62 and fyxm =56
- 逗号替换为‘/’
- select REPLACE(group_concat(bxmx1),',','/') as zy from formtable_main_46_dt1 where mainid=62 and fyxm =56
- select REPLACE(group_concat(bxmx1),',','/') as zy ,sum(jshj) as jfje from formtable_main_46_dt1 where mainid=62 and fyxm =56
- 添加其它字段
- select mainid,REPLACE(group_concat(bxmx1),',','/') as zy ,kmbm,sum(jshj) as jfje from formtable_main_46_dt1 where mainid=62 and fyxm =56
- 提高兼容性,加group by
- select mainid,REPLACE(group_concat(bxmx1),',','/') as zy ,kmbm,sum(jshj) as jfje from formtable_main_46_dt1 where mainid=62 and fyxm =56 group by fyxm
- 改为insert into 语句前补全字段
- select mainid,REPLACE(group_concat(bxmx1),',','/') as zy,kmbm,null as jdbmbm,null as fyxmbm,null as yfxmbm,sum(jshj) as jfje from formtable_main_46_dt1 where mainid=62 and fyxm =56 group by fyxm;
- 改为insert into 语句(测试需谨慎)
- INSERT INTO formtable_main_46_dt4 ( mainid,zy,kmbm,jdbmbm,fyxmbm,yfxmbm,jfje) select mainid,REPLACE(group_concat(bxmx1),',','/') as zy,kmbm,null as jdbmbm,null as fyxmbm,null as yfxmbm,sum(jshj) as jfje from formtable_main_46_dt1 where mainid=62 and fyxm =56 group by fyxm;
Recommend
-
130
字符串拼接引发的BUG译者按: bug 虽小,却是个磨人的小妖精!本文采用意译,版...
-
61
字符串的拆分1、splitlines 以行切分字符串,可以指定是否保留行标志,0和1代表的是布尔值2、split &am...
-
60
忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串。相信不少同学会有同感。 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型。而拼接字符串是必备的一种技能。今天,我跟大家...
-
61
-
70
-
56
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章
-
21
上一篇文章 跨表更新,看到自己写的SQL像个憨憨 写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无...
-
16
使用SQL查询分析实现类收发存的报表,原始需求在 另外一篇文章 的第四部分。下图是实现需求。
-
5
目录 前言:
-
7
by zhangxinxu from https://www.zhangxinxu.com/wordpress/?p=11022 鑫空间-鑫生活 本文欢迎分享与聚合,全文转载...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK