首页 新闻 会员 周边

SQL急用 在线等

0
悬赏园豆:50 [已解决问题] 解决于 2017-08-07 16:56

oracle数据库     表ass 结构如下
    表的数据如下:
     subjectid     vchdate         currency     currvalue     occurvalue
      1001         2016-02-09       A                0            12345
      1001         2017-03-19       B             12344         6325
      1002         2016-09-11       C             3124          6577
      1002         2016-09-11       D             343656        663354
      1002         2016-09-11       E             45664         54643
      1002         2016-09-11       F             41135         422
      1002         2016-09-11       G             4265          5432
      1002         2017-04-11       D              56            54367
      1002         2016-09-11       A             4354          1312
      1002         2016-09-11       B             345           8780
      1012         2017-09-11       A             325           464778
      1001         2016-09-19       B             12344         6325
      1002         2017-02-11       C             3124          6577
      1002         2017-02-11       E             343656        663354
      1002         2017-04-11       D             45664         54643
      1002         2017-05-11       F             41135         422
      1002         2017-01-11       G             4265          5432
注:不要在意数值的正确性

要求我们查询显示结果为
                              2017/6/30                          2016/12/31
                     currvalue         occurvalue        currvalue         occurvalue
      1001                
         A
         B
      1002
         A
         B
         C
         D
         E
         F
         G
      1012
         A         
注:currvalue与occurvalue显示的都是数值和

长跑的主页 长跑 | 初学一级 | 园豆:11
提问于:2017-08-02 11:26
< >
分享
最佳答案
1

你的输出排列是指先按照 subjectid升序,在按照currency排吧。不过你的表头的意思是指按照时间分组吗?

收获园豆:30
耳朵嫁给了真正的谎 | 初学一级 |园豆:195 | 2017-08-02 17:06

我可以提供你思路,看看还有没有其他大神来指导你罗。要不然就自己写咯~先用case when 判断时间(Extract())然后输出的时候按照group by subjectid,currency(默认为升序).输出的时候记得求和(sum).

耳朵嫁给了真正的谎 | 园豆:195 (初学一级) | 2017-08-02 17:18

@耳朵嫁给了真正的谎:谢谢  我自己写写看

长跑 | 园豆:11 (初学一级) | 2017-08-02 17:33

是的   按照时间和编号来分组

 

长跑 | 园豆:11 (初学一级) | 2017-08-02 17:34
其他回答(2)
0

有点不太看得懂的,你需要的结果

收获园豆:20
金琥 | 园豆:2605 (老鸟四级) | 2017-08-02 11:28

按哪种方式排列

支持(0) 反对(0) 长跑 | 园豆:11 (初学一级) | 2017-08-02 12:14

@长跑: 你需要的语句执行结果有点不太懂

支持(0) 反对(0) 金琥 | 园豆:2605 (老鸟四级) | 2017-08-02 13:45

@金琥:查询结果需要按   我书写的方式排列着

支持(0) 反对(0) 长跑 | 园豆:11 (初学一级) | 2017-08-02 14:11

@长跑: 你的sql写出来了吗?

支持(0) 反对(0) 金琥 | 园豆:2605 (老鸟四级) | 2017-08-03 09:38

@金琥: 没有,没什么头绪

支持(0) 反对(0) 长跑 | 园豆:11 (初学一级) | 2017-08-03 09:40
0

我感觉不一定非得后台一定要查出这种形式,可以把数据取出来,在前台结合表格控件展示出你要的效果。

Mr___SUN | 园豆:232 (菜鸟二级) | 2017-08-02 16:48

需要的就是前台这展示

支持(0) 反对(0) 长跑 | 园豆:11 (初学一级) | 2017-08-02 17:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册