在一个表中存在很多数据,通过项目号查询出修订过的版本次数及各版本的数据变化差值,贴上记录供大家参考,本问题特别急,希望大家能尽快帮忙觖.如果不明白题目,可加我:80057707
如果用ORACLE如何来实现呢?
表名TEMQ_xdjr

crowno nversion vordercode invcode vordercode nassistnum ccorrectrowid bislatest corder_bid corderid
行号 版本信息 订单编号 存货编码 订货数量 辅计量数量 修正行id 是否最新版本 采购订单行id 采购订单id

6 6 CD6332 602008 60 1 113AA1MPW N 113AA1194R 1013AA1194O
5 6 CD6332 401003 456 1 113AA1MPV N 113AA1194Q 1013AA1194O
9 6 CD6332 1202009 2502 1 113AA1MPZ N 113AA1194T 1013AA1194O
8 6 CD6332 1203004 4630 1 113AA1MPY N 113AA1194S 1013AA1194O
1 6 CD6332 1203004 10 1 113AA1MPR N 113AA1194P 1013AA1194O
10 6 CD6332 1204014 361 1 113AA1MQ N 113AA1194U 1013AA1194O

6 8 CD6332 602008 60 1 113AA1MPW N 113AA1194R 1013AA1194O
5 8 CD6332 401003 12050 1 113AA1MPV N 113AA1194Q 1013AA1194O
9 8 CD6332 1202009 2502 1 113AA1MPZ N 113AA1194T 1013AA1194O
8 8 CD6332 1203004 30 1 113AA1MPY N 113AA1194S 1013AA1194O
1 8 CD6332 1203004 10 1 113AA1MPR N 113AA1194P 1013AA1194O
10 8 CD6332 1204014 361 1 113AA1MQ N 113AA1194U 1013AA1194O
12 9 CD6332 3201005 250 Y 113AA1194L 1013AA1194O
11 9 CD6332 3201004 522 Y 113AA1194K 1013AA1194O
6 9 CD6332 602008 60 1 Y 113AA1MPW 1013AA1194O
5 9 CD6332 401003 12050 1 Y 113AA1MPV 1013AA1194O
9 9 CD6332 1202009 2502 1 Y 113AA1MPZ 1013AA1194O
8 9 CD6332 1203004 30 1 Y 113AA1MPY 1013AA1194O
1 9 CD6332 1203004 10 1 Y 113AA1MPR 1013AA1194O
10 9 CD6332 1204014 361 1 Y 113AA1MQ 1013AA1194O

解决方案 »

  1.   

    select * from
    (select nversion as "版本信息",
    count(*) over(partition by nversion order by crowno) as "版本次数",
    vordercode - lag(vordercode) over(partition by nversion order by crowno) as "订货数量变化差值",
    ...
    from TEMQ_xdjr
    )
      

  2.   

    不好意思,刚才描述错了表头(TEMQ_xdjr)信息里存放的是版本号等版本信息,表体(TEMQ_xdjr1)里存放的是具体的数量、存货信息,表头与表体通过单据号进行关联的。
      

  3.   

    ORACLE不支持over吧,能不能写细化一点呢?