你好我需要一点帮助,编写一个基于my_id,report_id基本上指出没有相应的否定匹配数的行的sql语句。oracle sql如何获得不匹配的积极记录
下面是表格声明,以便更好地解释。
CREATE TABLE ."TEST"
("REPORT_ID" VARCHAR2(100 BYTE),
"AMOUNT" NUMBER(17,2),
"MY_ID" VARCHAR2(30 BYTE),
"FUND" VARCHAR2(20 BYTE),
"ORG" VARCHAR2(20 BYTE)
)
这里是一些样本数据
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('1',50,'910','100000','67120');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('1',-50,'910','100000','67130');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('1',100,'910','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('2',200,'910','100000','67130');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('2',-200,'910','100000','67120');
INSERT INTO TEST (REPORT_ID, AMOUNT, MY_ID, FUND, ORG) VALUES ('1', '40.17', '910', '100000', '67150')
INSERT INTO TEST (REPORT_ID, AMOUNT, MY_ID, FUND, ORG) VALUES ('1', '-40.17', '910', '100000', '67150')
INSERT INTO TEST (REPORT_ID, AMOUNT, MY_ID, FUND, ORG) VALUES ('1', '40.17', '910', '100000', '67150')
如果你创建表并仔细观察
,你会发现,通过REPORT_ID和添加my_id最积极的数量有直接的负面量。另一方面,我需要通过my_id和report_id来确定那些没有相应负值的正数。
预期的结果应该是这样的
"REPORT_ID" "FUND" "MY_ID" "ORG" "AMOUNT"
"1" "100000" "910" "67150" "40.17"
"1" "100000" "910" "67150" "100"
任何想法如何能acomplish这一点。
编辑: 发布了错误的输出结果。只是为了清楚基金和组织直到比赛结束后才有意义。例如,如果我正在使用plsql写这个,我会发现有多少缺点,然后我有多少个额外的比较每个加上金额的每个减去金额和删除它们,然后我会留下任何加上没有负金额。 我对此感到抱歉。希望这现在更清楚。一旦我拥有了所有的比赛,我应该只剩下积极的数额。
编辑:
additional inserts
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67120');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67140');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67130');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67130');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',71,'911','100000','67130');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',-71,'911','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',-71,'911','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('5',-71,'911','100000','67150');
非常令人耳目一新,所有的数据都可以在问题中使用!请你只是澄清为什么200会显示在上面的输出中,因为有相应的-200行? – ChrisProsser
org呢?应该忽略? – mucio
回答以上2条评论,那么人们可以给你一些问题。 – johnny