2020-09-03
发布日期:2021-06-18 12:12:27 浏览次数:34 分类:技术文章

本文共 979 字,大约阅读时间需要 3 分钟。

在入职两周的适应与学习后,接到了任务。

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

  • 拼接字段值
    在某些场景下 需要将库中两个字段值在同一单元格展示 我的思路是在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为空时不带查询条件查询全部,不为空时带参查询的效果。

转载地址:https://blog.csdn.net/Beatingworldline/article/details/108387180 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SQL练习与提升
下一篇:2020年应届毕业生自学两个月JAVA的历程

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月05日 14时24分51秒