2020-09-03

tech2023-12-04  35

在入职两周的适应与学习后,接到了任务。 利用帆软设计页面并做数据展示。 在座的过程中越来越发现,大部分难点在于如何将数据库中的数据按照自己想要的样子取出来,我认识到在这点上需要大量的经验累积。 于是今天开始 时不时将新学到的数据需求与解决方法记录下来。

拼接字段值 在某些场景下 需要将库中两个字段值在同一单元格展示 我的思路是在SQL查询时就将字段合在一起。用到了: 字段名A || '/'|| 字段名A AS 新字段名的语句,并利用子查询,将需要拼接的字段查出来在外层实现拼接。 SELECT 日期, A.总库存块 || '/'|| A.总库存吨 AS 总库存块/FROM (SELECT DATE_PRC AS 日期, SUM(CASE WHEN 字段名A='值' THEN 字段名B ELSE 0 END) AS 总库存块, SUM(CASE WHEN 字段名A='值' THEN 字段名B ELSE 0 END) AS 总库存吨 FROM 表名 WHERE 1=1 ${if(len(DATA) == 0,"","and DATE_PRC = '" + DATA + "'")} GROUP BY DATE_PRC) AS A

同样的 以上SQL其实还用到了最近工作及其常用的两个情况,下面继续记录

表信息行转列 涉及到公司内部表信息不方便展示 所以简单记录原理:

SUM(CASE WHEN 字段名A='值' THEN 字段名B ELSE 0 END) AS 总库存吨

通过函数找到字段名A与值相等的数据行 将改行该字段的数据转至为列名,在取出该行对应的其他数据字段作为转至列的数据。

where条件拼接语句

WHERE 1=1 ${if(len(DATA) == 0,"","and DATE_PRC = '" + DATA + "'")}

1=1保证不报错 $取参数 嵌套if判断 这里的if类似与java的三元运算符 if(条件,true时执行的语句,false时执行的语句,)。 这里实现了 当参数DATA为空时不带查询条件查询全部,不为空时带参查询的效果。

最新回复(0)