一列多行进行列转行操作

      其实列转行,可以在数据库当中转换,也可以在程序中进行转换,因为我这个设计多张表所以在程序当中进行转换,在nosql非关系型数据库当中,可以把行转列看成一个矩阵,这个矩阵的列可以进行90度的转换,在非关系型数据库当中,这样做会很简单,但是在关系型数据库当中这样做就很复杂了。

  我说一下,我的java代码的实现,前提我手上有三张表分别为:

    T50_ETL_REPORT; // 指标中间表

    T00_INDIC_DICT;   //指标表

    T00_ORGAN //机构表

我先说一下这三张表的关系:

    指标中间表包括指标表里面的指标key和机构key

每个机构下面包含很多个指标,每个指标下面包含我们要的业务值;

好吧,接下来我使用map和list来做的,首先map的key是不允许重复的所以导致可以区分每个orgId,产生唯一性。

1、我先根据页面的筛选条件来找到orgList和指标keyList;

 2、然后遍历orgList 下面套了一层keyList循环,根据指标key和orgId和日期来唯一确定一个,我所需要的valueList;

 3、如果valueList不为空则创建一个mapval把指标key作为key,valueList作为list存到mapval当中,然后创建一个contendList把map存到list中;

 4、如果contendList不为空则创建一个mapOrg 然后把orgId作为key,contendList作为value;

 5、然后创建一个mapAllList把我们mapOrg 放到list中然后给前端;

 6 .然后前端依据orgId和指标key来进行遍历匹配找到我们想要的value;

根据思路就可以写出代码了,加油



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值