qq_21078281 2017-06-09 07:57 采纳率: 0%
浏览 1070

oracle sql计算两张表中的数据

                     表A

a b c
1 20161231 100
1 20151231 90
1 20141231 80

                                                表B

d e
20161231 0.04
20151231 0.035
20141231 0.05
20131231 0.04
20121231 0.03
20111231 0.04
20101231 0.03
20091231 0.04
20081231 0.05

现在需要取字段 a b f
f=表A的c字段乘以表B的同一年的前5年e的平均值
如:以表A的第一条记录为例。
f=100*((0.035+0.05+0.04+0.03+0.04)/5)

即2011年到2015的e的平均值

  • 写回答

2条回答 默认 最新

  • liaojs66 2017-06-09 09:08
    关注

    select a.a,
    a.b,
    (select avg(b.e)
    from b
    where trunc(b.d, 'yyyy') >= trunc(a.b, 'yyyy') - 5
    and trunc(b.d, 'yyyy') < trunc(a.b, 'yyyy')) f
    from a

    评论

报告相同问题?

悬赏问题

  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。