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显示的都是数值和
你的输出排列是指先按照 subjectid升序,在按照currency排吧。不过你的表头的意思是指按照时间分组吗?
我可以提供你思路,看看还有没有其他大神来指导你罗。要不然就自己写咯~先用case when 判断时间(Extract())然后输出的时候按照group by subjectid,currency(默认为升序).输出的时候记得求和(sum).
@耳朵嫁给了真正的谎:谢谢 我自己写写看
是的 按照时间和编号来分组
有点不太看得懂的,你需要的结果
按哪种方式排列
@长跑: 你需要的语句执行结果有点不太懂
@金琥:查询结果需要按 我书写的方式排列着
@长跑: 你的sql写出来了吗?
@金琥: 没有,没什么头绪
我感觉不一定非得后台一定要查出这种形式,可以把数据取出来,在前台结合表格控件展示出你要的效果。
需要的就是前台这展示