在特定列上应用 group by 并在 oracle PLSQL 中以下面给定的方式设置记录的顺序

如何解决在特定列上应用 group by 并在 oracle PLSQL 中以下面给定的方式设置记录的顺序

请帮我按以下顺序输出

MyCode 示例:

i_claim_id := 'CL0000001010'; i_claim_version :='0';

注意:对于输入声明的成员,订单号应设置为 1。

F T T F T F T F F F T F T F F F T F T F F F T F F F F F T F T F F F F F T F F F T F T F F F T F F F F F T F F F F F T F T F F F F F 
T F F F T F T F F F F F T F F F T F F F F F T F F F F F F F T F F F                                                                  
          25                                                                                                                         
           2           3           5           7          11          13          17          19          23          29          31 
         37          41          43          47          53          59          61          67          71          73          79  
        83          89          97

当前输出我得到以下格式:

CURSOR mem_data (i_claimid   claims.claimid%type,i_claimversion  claims.claimversino%type) IS
select Member_id,OrderNumber
from claimdata
where claimid=i_claimid
and claimversion=i_claimversion;

CUrsor findinputclaimmemberid (i_claimid   claims.claimid%type,i_claimversion  claims.claimversino%type) IS
select member_id
from claim
where claimid=i_claimid   
claimversino=i_claimversion;

TYPE Membertable is table of claims.member_id%type index by binary integer;
TYPE Numbertable is table of number index by binary integer;

lv_memberid   Membertable;
lv_number     Numbertable;
lv_inputmemberid   Membertable;

TYPE Memrec IS RECORD (Member_id claims.member_id%type,OrderNumber   Number);

TYPE t_Memrec_tbl IS TABLE of Memrec;
Memrec_tbl    t_Memrec_tbl := t_Memrec_tbl();

ln_index  Number :=1;
ln_total  Number;
ln_primarynumber    Number := 1;
ln_otherMember      Number  := 2;
BEGIN

Memrec_tbl.DELETE;

OPEN mem_data (iclaimid,iclaimversion);
FETCH mem_data INTO lv_memberid,Numbertable ;

ln_total  := mem_data.count;

OPEN findinputclaimmemberid (iclaimid,iclaimversion);
FETCH findinputclaimmemberid  INTO lv_inputmemberid   ;
CLOSE findinputclaimmemberid ;

Loop

Exit When ln_inex >= ln_total  ;
Memrec_tbl.EXTEND;
Memrec_tbl(ln_index).Member_Id := lv_memberid(ln_index);

IF lv_inputmemberid(ln_index) = lv_memberid(ln_index) THEN
   Memrec_tbl(ln_index).OrderNumber  := ln_primarynumber;
   ln_otherMember      := ln_otherMember      - 1;

ELSE

    Memrec_tbl(ln_index).OrderNumber  := ln_otherMember;

END IF;

ln_index   := ln_index   +1;
ln_otherMember      := ln_otherMember      +1;

END Loop;
close mem_data ;

END;

我想获得以下格式的输出

Member_Id      OrderNumber
Emp00001002       6
Emp00001002       2
Emp00001002       3
Emp00001001       4
Emp00001001       5
Emp00001005       1   **-- Input Claim Id's Member Id**
Emp00001008       7
Emp00001008       8
Emp00001008       9

评论获得以下格式输出方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?