Find the unmatched rows in table.
hello guys I need a little help writing a sql statement that would basically point out the rows that don't have a corresponding negative matching number, based on my_id,report_id.
Here is the table declaration for better explanation.
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)
here is some sample data.
REM INSERTING into TEST
SET DEFINE OFF;
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',200,'910','100000','67140');
if you create the table and look closely , you'll notice that by report_id and my_id most positive amounts have a direct negative amount. In the other hand, I need to identify those positive amounts that do not have a corresponding negative amount by my_id , and report_id.
here is what the expected outcome should look like.
"REPORT_ID" "AMOUNT" "MY_ID" "FUND" "ORG"
"1" "100" "910" "100000" "67150"
"1" "200" "910" "100000" "67140"
please refrain from commenting on the table structure this is simply a sample table I created to explain my problem, my real problem is with a much bigger table.
Thanks in advance for any help you guys can offer.
Miguel
No problem .. I corrected my logic .. the ABS logic doesn't work if you have 2 rows with same amount (I added another test case: report_id = 4)
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',200,'910','100000','67140');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('3',50,'910','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('3',-50,'910','100000','67160');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('3',50,'910','100000','67170');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('4',40,'910','100000','67150');
Insert into TEST (REPORT_ID,AMOUNT,MY_ID,FUND,ORG) values ('4',40,'910','100000','67160');
with w_base as (
select report_id, amount, my_id, fund, org,
sum(amount) over (partition by report_id, abs(amount)) amt_cnt,
row_number() over (partition by report_id, abs(amount) order by org) rid,
abs(amount) absamt
from test
Select distinct report_id, abs(amount), my_id, fund, org, amt_cnt
from w_base
where amt_cnt != 0
and rid = 1
order by report_id
REPORT_ID ABS(AMOUNT) MY_ID FUND ORG AMT_CNT
1 100 910 100000 67150 100
1 200 910 100000 67140 200
3 50 910 100000 67150 50
4 40 910 100000 67150 80
4 rows selected.
Message was edited by: Greg.Spall
Sorry, posted to quick .. fixed
Similar Messages
-
How to find the LOCKED ROWS in a table?
Not locked objects, but for a table the locked rows.
Check below links :
http://www.jlcomp.demon.co.uk/faq/locked_rows.html
How to find the locked row.
who are waiting for same record?
HTH
Girish Sharma -
How to find the unmatched records between the two tables?
We have to tables in SQL Server database.
But unable to find the unmatched record betwwen these two tables.
There 12 records are unmatched. But unable to get those records.
I am using the below sql:
select c1,c2,c3,c4,c5,c6 from Table1
except select c1,c2,c3,c4,c5,c6 from Table2
Please help. Thanks in advance.Hi knra,
Please try the following codes:
select c1,c2,c3,c4,c5,c6 from Table1 t1
where not exists
(select * from Table2 t2
where t1.c1= t2.c1
and t1.c2= t2.c2
and t1.c3= t2.c3
and t1.c4= t2.c4
and t1.c5= t2.c5
and t1.c6= t2.c6)
Best Regards,
Allen Li
Allen Li
TechNet Community Support
This is what I would've said, but it would make life much easier for you if you have a reference or ID for each entry, this is why we use keys. -
Issue in finding the current row
I am rendering rows of a VO using an iterator component. One of the component I am rendering is a declarative component created by me.
In this component there is a clickable link on which i can write any method to achieve desired functionality.
Since, iterator is used so the current row is set to the last row. Now on clicking the link in the declarative component i need to do some operation based on the current row (pk of that row). So, how to find the current row id?
Note: If it would be a simple adf component like a commandLink i could have inserted a setServerListener inside it and could have put the id in to requestScope to access it. But as this is the declarative component in which i cannot create a serverListener so I am looking for some other solution.Hi john,
My table have the selection listener.
Thanks in advance -
Need to find the Difference between two table
Hello ,
I have stucked in program as below scenario:-
I have two tables of huge data of same structure in a same schema.I need to find the difference exact values in tables.
By using MINUS we can find the difference between two table ,i need to find the what exact difference in the there values with colunm and value at that column.
Example TableA
Col1 col2 col3 col4 col5.... col50
10 ABC 2001 EE 444 TT
40 XYZ 3002 RR 445 TT3
80 DEF 6005 YY 446 YY8
TableB
Col1 col2 col3 col4 col5.... col50
10 ABC 2001 EE 444 TT
40 XYZ 3002 RR 445 TT3
81 DEF 6005 Yu 447 YY8
I need to the out put like this :-
The Diffence between two table is
TableA.COL1=80 TableB.Col1=81, Different
TableA.Col4=YY TableB.col4=Yu,Different
TableA.Col5=446TableB.col5=447,Different
Please suggest me to write the pl/sql program for the same
thanx in advance
KKThanx friends for all your efforts
I have a sample code for the same,this will compare the two tables for single row in each table .
what r the modification needed for the multiple rows of values in the two tables??
Please suggest!!
CREATE OR REPLACE PROCEDURE test_compare
IS
TYPE t_col
IS
TABLE OF VARCHAR2 (30)
INDEX BY PLS_INTEGER;
l_col t_col;
j NUMBER := 0;
l_sql VARCHAR2 (2000);
col1 VARCHAR2 (30);
col2 VARCHAR2 (30);
val1 NUMBER;
val2 NUMBER;
status VARCHAR2 (30);
CURSOR c1
IS
SELECT column_id, column_name
FROM all_tab_columns
WHERE table_name = 'TEST1';
BEGIN
FOR i IN c1
LOOP
j := j + 1;
l_col (j) := i.column_name;
END LOOP;
FOR k IN 1 .. j
LOOP
l_sql :=
'SELECT '
|| ''''
|| l_col (k)
|| ''''
|| ', '
|| 'TEST2.'
|| l_col (k)
|| ', '
|| ''''
|| l_col (k)
|| ''''
|| ', '
|| 'TEST1.'
|| l_col (k )
|| ', '
|| 'DECODE(TEST2.'
|| l_col (k)
|| ' -TEST1.'
|| l_col (k)
|| ', 0, ''NO CHANGE'', ''CHANGED'') FROM TEST2, TEST1';
EXECUTE IMMEDIATE l_sql INTO col1, val1,col2, val2, status;
IF status = 'CHANGED'
THEN
DBMS_OUTPUT.put_line( 'TEST2.'
|| col1
|| '='
|| val1
|| ', TEST1.'
|| col2
|| '='
|| val2
|| ', '
|| status);
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Error:- ' || SQLERRM);
END;
/ -
How to find the column name and table name with a value
Hi All
How to find the column name and table name with "Value".
For Example i have value named "Srikkanth" This value will be stored in one table and in one column i we dont know the table how to find the table name and column name
Any help is highly appricatable
Thanks & Regards
Srikkanth.M2 solutions by Michaels (the latter is 11g upwards only)...
michaels> var val varchar2(5)
michaels> exec :val := 'as'
PL/SQL procedure successfully completed.
michaels> select distinct substr (:val, 1, 11) "Searchword",
substr (table_name, 1, 14) "Table",
substr (t.column_value.getstringval (), 1, 50) "Column/Value"
from cols,
table
(xmlsequence
(dbms_xmlgen.getxmltype ('select ' || column_name
|| ' from ' || table_name
|| ' where upper('
|| column_name
|| ') like upper(''%' || :val
|| '%'')'
).extract ('ROWSET/ROW/*')
) t
-- where table_name in ('EMPLOYEES', 'JOB_HISTORY', 'DEPARTMENTS')
order by "Table"or
SQL> select table_name,
column_name,
:search_string search_string,
result
from cols,
xmltable(('ora:view("'||table_name||'")/ROW/'||column_name||'[ora:contains(text(),"%'|| :search_string || '%") > 0]')
columns result varchar2(10) path '.'
where table_name in ('EMP', 'DEPT')
TABLE_NAME COLUMN_NAME SEARCH_STRING RESULT
DEPT DNAME ES RESEARCH
DEPT DNAME ES SALES
EMP ENAME ES JONES
EMP ENAME ES JAMES
EMP JOB ES SALESMAN
EMP JOB ES SALESMAN
EMP JOB ES SALESMAN
EMP JOB ES PRESIDENT
EMP JOB ES SALESMAN
9 rows selected. -
How to Fix the 1st row in Table
How to Fix the 1st row in Table
In EP, one of the page we are getting out put in the table format. It's working fine, but as per the new requirement we have to fix (freeze) the first row of the table. (.i.e. whenever I click the page down button first row should be visible in the table). Can you help regarding the above issue?
For Example: in Table having 6 rows. In 1st row display Year Month and 2,3,4---etc Rows will display Quantity. Click on Page down Button in Table we are able to staring 2row. First was a movie up. So End user canu2019t find which year/moth under the Quantity is available.
So I have to fix in 1st row. Click on page down button table 1st row is fixed but comes to another Quantity Records.
It is Possible in Table? If possible please tell me.
Regards
Vijay KalluriHi KalluriVijay
I don't think there is direct availabe method available to fix the row. However, there are two ways using which you can achieve the requirement:
To go ahead with the custom table. This way you can set your own properties for the table. However, this may impact performance handling large data.
Second option is to use other features of NW04s (Not available in NW04) like Table Popins using which you can achieve something similar.
For Table Popins refer [TablePopin|http://help.sap.com/saphelp_nw70/helpdata/EN/23/5e9041d3c72e7be10000000a1550b0/frameset.htm]
Hope this helps.
Regards
Abhinav Sharma -
How to write the query to find the duplicate rows?
Hi,
How will I find the duplicate rows in the table?
I have a table called ITEM
Select item_no,mfg_id from item
Item Mfg_ID
178 06278
178 06589
238 5489
289 7895
289 7596
Now I want to find only the duplicate rows i.e.,178 & 289 is coming twice.
How will get the all duplicate rows in the table?nihar2 wrote:
Convert to
SELECT it.item,
im.mfg_item,
im.manufacturer,
im.description
FROM (SELECT it.item,
im.mfg_item,
im.manufacturer,
im.description,
count(it.item) over(partition by it.item order by it.item) cnt
FROM item it,item_mfg im
WHERE it.u##item=im.u##item)
WHERE cnt > 1
But I tried It show not valid identifier.You can't use the table aliases from the sub-query...
SELECT item,
mfg_item,
manufacturer,
description
FROM (SELECT it.item,
im.mfg_item,
im.manufacturer,
im.description,
count(it.item) over(partition by it.item order by it.item) cnt
FROM item it,item_mfg im
WHERE it.u##item=im.u##item)
WHERE cnt > 1 -
How to find the list of existing tables in a schema using DB link?
Hi
I know how to find the list of existing tables in a schema using the following query
SQL> select * from tab;
but, how to list the tables using a DB link?
For Example
SQL> select * from tab@dblink_name;
why this doesn't work?
Pl advice me
Thanks
Reddy.ORA-02019: connection description for remote database not foundHave you used this database link successfully for some other queries?
The error posted seems to indicate that the DB Link is not functional at all. Has it worked for any other type of DML operation or is this the first time you ever tried to use the link? -
Is it possible to find the transaction code via table name ??
Hi
Can any body please let me know is it possible to find the transaction code via table name ??
Thanks in advance
Sesh
Edited by: seshu_sapfico on Dec 8, 2009 12:21 PMPlease, specify your requirement... A table could be modified by various programs which are called by numerous transactions.
-
How to find the size of a Table
Dear all,
How can i find the size of a table in a schema and size of the schema also.
Thanks
MahiTry out with the help of this package, which will give out the total bytes, unused bytes, calculate the free bytes from total byes-unused bytes.
dbms_space.unused_space(
upper(oname),upper(tbname),upper('TABLE'),
total_blocks, total_bytes,
unused_blocks, unused_bytes,
last_used_extent_file_id ,
last_used_extent_block_id,
last_used_block
); -
How to find the deleted data in tables
guys,
how to find the deleted data in tables example: i want to see whether anyone deleted data in MB5B report tables like mbew, etc.,
regards,Hi,
MBEWH is actually the history table of MBEW. It will record all the changes. As I have told you earlier if you have deleted the record dirctly from the table then it will not come even in the table MBEWH
That means no changes have been made.
regards -
How to Finding the Last Row Value in Datagrid?
Hi Everyone,
Thanks in Advance.
I need your help, to find the last row data in Datagrid.
Actually i am using Datagrid to display my Data in flex. In my data i stored the gender value of employees. So if the last row in my datagrid is "female" i need to be highlight that particular row. So please help me to solve this issue.
Thanks,
Charles. Jdatagrid.selectedIndex = datagrid.dataprovider.length;
^ something like this will select the last row in the datagrid.
if you need to check it's value, you might need to cast an object here, based on the index value, and check it's gender value.
datagrid.selectedIndex = datagrid.dataprovider.length;
if (datagrid.selectedItem["gender"] == "female") {
//handle here -
How to Control the width of the Filter row in Table View
Hi !
I have a Table View with filter='application'. The filter works fine but I am not able to control the width of the columns of the tableview .
On filtering, if there are not items in the table view the columns shrink to the minum width....and it looks very odd.
Can you help me how to control the width of the Filter-Row in Table Veiw.
Thanks and Best Regards,
BindiyaHi Raja,
"FIXEDCOLUMN" did not help in the width of the column, but it just showed all the rows merged in the column.
I have a cloumn called "COUNTRY" and its width is set to "20". The Filter of the column "COUNTRY" is a dropdownlist whos value is update with new values.
On filtering if there is any row visible then the column width is adjusted to the maxmimum length of the dropdownlist ( this is because of the "EDIT" attribute in column definition ). But if there is no rows visiblel for the selected filter value then the filter row shrinks to the width = "20" and the dropdownlist is not visible completely.
Need to know how to control the width of the FILTER column.
Thanks and Best Regards,
Bindiya -
How can i find the latest row inserted in a table
i have a table with five columns and there is no primary key and everyday 100's of rows will be inserted to this table ,infact by mistake i have inserted a row and i just want to find out which is the last row i have inserted in to this particular table is there any way to find out this please......
That's not guaranteed to give you the latest row added to the table. Oracle could place new rows anywhere depending on what happened to rows in the table previously, what space is available in the tablespace etc etc:
SQL> create sequence dt_test_rowid_seq start with 1 increment by 1;
Sequence created.
SQL>--generate some test data
SQL> CREATE TABLE dt_test_rowid as
2 select object_id,
3 object_name,
4 dt_test_rowid_seq.nextval ins_sequence
5 from
6 dba_objects
7 where
8 object_id is not null
9 and
10 rownum <10000;
Table created.
SQL>--here, the latest addition to the table....
SQL> select max(ins_sequence) from dt_test_rowid;
MAX(INS_SEQUENCE)
9999
SQL>... reflects the highest rowid
SQL> select ins_sequence from dt_test_rowid where rowid=(select max(rowid) from dt_test_rowid);
INS_SEQUENCE
9999
SQL>--get rid of a load of rows
SQL> delete from dt_test_rowid where mod(object_id,2)=0;
2521 rows deleted.
SQL>--insert a load more
SQL> insert into dt_test_rowid
2 select object_id,
3 object_name,
4 dt_test_rowid_seq.nextval ins_sequence
5 from
6 dba_objects
7 where
8 object_id is not null
9 and
10 rownum <1000;
999 rows created.
SQL>--and here the latest addition to the table...
SQL> select max(ins_sequence) from dt_test_rowid;
MAX(INS_SEQUENCE)
10998
SQL>--...is NOT reflected by the highest rowid
SQL> select ins_sequence from dt_test_rowid where rowid=(select max(rowid) from dt_test_rowid);
INS_SEQUENCE
9999
Maybe you are looking for
-
Reading attachment in SOAP message with ABAP mapping
I am searching an ABAP code to read attachment in sender SOAP message.. I am using PI 7.3, I can read by java mapping but I get another error after reading the attachment.. So I try to abap mapping.. That's it.. Thanx ..
-
Have tried everything including several restores, set up as new phone. Also deleted firmware file in itunes and restored with fresh firmware all results in the same symptom. Have talked with 3 Apple tech support and no solution. Also tried another 4s
-
Output in word file: Methods or the class name required
Hi Gurus, I am trying to get output of the program in a word document directly without any Script or Report in between. Steps i follow are: Fetching the data Invoking word Writing the data into the word file created using methods like 'tablegridlines
-
Hi, I have a requirement like i need add an iview (For Ex : Contact Us) as a link at the bottom of the page/currently viewing iview. Not in a navigation panel as a related links or not as a favourite link, a link should be added at the bottom of a pa
-
Horrible quality in media browser
Hi It's a big problem for me : all my movies are encoded with a worse quality at any size. So it's published on .mac gallery with horrible quality. So the problem is in the Media browser export qulity. When I use it in iWeb the problem is the same. N